diff --git a/ImportLDraw/.gitattributes b/ImportLDraw/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..a5a145222d5de401ca73388074837b37fa65e3d5 --- /dev/null +++ b/ImportLDraw/.gitattributes @@ -0,0 +1 @@ +*.exr filter=lfs diff=lfs merge=lfs -text diff --git a/ImportLDraw/.gitignore b/ImportLDraw/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..c66d72a85da6538fd16f4fa00477f810ff74dda9 --- /dev/null +++ b/ImportLDraw/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +__pycache__/ +ImportLDrawPreferences.ini diff --git a/ImportLDraw/LICENSE b/ImportLDraw/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..b53114e98715c5d3deb00ff8f4cdb5a512c71afb --- /dev/null +++ b/ImportLDraw/LICENSE @@ -0,0 +1,278 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. diff --git a/ImportLDraw/README.md b/ImportLDraw/README.md new file mode 100644 index 0000000000000000000000000000000000000000..39caa777d8049939e7d4474b93cdb575f81b34f7 --- /dev/null +++ b/ImportLDraw/README.md @@ -0,0 +1,103 @@ +# Import LDraw # + +> A [Blender](https://www.blender.org)™ plug-in for importing [LDraw](http://www.ldraw.org)™ file format models and parts. + +![Tower Bridge](./images/tower_960.png) + +## Purpose ## +*Import LDraw* imports [LEGO](https://www.lego.com/)® models into Blender. + +It supports **.mpd**, **.ldr**, **.l3b**, and **.dat** file formats. + +It's intended to be accurate, compatible, and fast (in that order of priority). + +## Features ## ++ Works with Blender 2.81 up to at least Blender 4 ++ **Mac**, **Windows** and **Linux** supported. ++ **Bricksmith** compatible. ++ **MPD** file compatible. ++ **LeoCAD** groups and cameras (both perspective and orthographic) supported. ++ **LSynth** bendable parts supported (synthesized models). ++ *Cycles* and *Blender Render* engines supported. It renders either engine from a single scene. ++ Import **photorealistic** look, or **Instructions** look. ++ **Physically Based Realistic materials** - standard brick material, transparent, rubber, chrome, metal, pearlescent, glow-in-the-dark, glitter and speckle. ++ **Principled Shader supported** Uses Blender's 'Principled Shader' where available for optimal look (but still works well when unavailable). ++ **Accurate colour handling**. Correct colour space management is used so that e.g. black parts look black. ++ **Direct colours** supported. ++ **Back face culling** - fully parses all BFC information, for accurate normals. ++ **Linked duplicates** - Parts of the same type and colour can share the same mesh. ++ **Linked studs** - studs can also share the same mesh. ++ Studs can include the **LEGO logo** on them, adding extra geometry. ++ **Gaps between bricks** - Optionally adds a small space between each brick, as in real life. ++ **Smart face smoothing** - Uses Edge-Split Modifier and Sharp Edges derived from Ldraw lines, for smooth curved surfaces and sharp corners. ++ **Concave walls** - Optionally look as if each brick has very slightly concave walls (with the photorealistic renderer), which affects the look of light reflections. ++ **Light bricks** - Bricks that emit light are supported. ++ **Parenting Minifigs** - Optionally make the parts of a minifig parented to each other, so e.g. rotating an arm also moves the hand with it. ++ **Fast** - even large models can be imported in seconds. + +![Ghostbusters](./images/ghostbusters_960.png) + +## Installation and usage ## + +**Installing the add-in** + ++ Download the latest version from the [Releases](https://github.com/TobyLobster/ImportLDraw/releases) page ++ Open Blender ++ If you are in Blender 2.79 or lower, choose from the menu: File > User Preferences ++ If you are in Blender 2.81 or later, choose from the menu: Edit > Preferences ++ Click the *Add-ons* tab ++ Click the *Install from file...* button (Blender 2.79) or *Install...* button (Blender 2.81+) ++ Navigate to the zip file you downloaded and select it ++ Find *Import LDraw* in the list of Add-ons (search for *LDraw* if necessary) ++ Tick the check mark next to it to activate the add-on. ++ Click the *Save User Settings* button (Blender 2.79) or *Save Preferences* button (Blender 2.81+) so that it will still be active next time you launch Blender. + +**Setting the LDraw Parts Library directory** + ++ Download the latest complete [LDraw Parts Library](http://ldraw.org/parts/latest-parts.html) and unzip it to a directory e.g. called 'ldraw'. ++ (Note there currently seems to be an issue if the path to the ldraw directory contains spaces, so avoid using spaces in the full path to the ldraw directory.). ++ OPTIONAL: Download the unofficial parts and unzip it to sub-directory 'ldraw/unofficial/' ++ From the Blender menu click: File > Import > LDraw (.mpd/.ldr/.l3b/.dat). ++ In the bottom left of Blender's window, there's a panel of *Import Options*. ++ The first option is the LDraw Parts Library directory. Type the full filepath to the 'ldraw' directory you unzipped to. ++ To save that directory and try it out, choose a file to import. + +![Tugboat](./images/tugboat_960.png) + +## History ## +This plug-in is by Toby Nelson (tobymnelson@gmail.com) and was initially written in May 2016. + +It was inspired by and initially based on code from [LDR-Importer](https://github.com/le717/LDR-Importer) but has since been completely rewritten. + +![Marina Bay Sands](./images/marina_bay_sands_960.png) + +## License ## + +*Import LDraw* is licensed under the [GPLv2](http://www.gnu.org/licenses/gpl-2.0.html) or any later version. + +## Thanks ## +Thanks to [BertVanRaemdonck](https://github.com/BertVanRaemdonck) for the 'concave walls' feature, and for the useful feedback and suggestions. + +## External References ## +Blender logo + +**Blender**™ is the free and open source 3D creation suite.
+ +LDraw logo + +**LDraw**™ is an open standard for LEGO CAD programs that allow the user to create virtual LEGO models and scenes. You can use it to document models you have physically built, create building instructions just like LEGO, render 3D photo realistic images of your virtual models and even make animations. +The possibilities are endless. Unlike real LEGO bricks where you are limited by the number of parts and colors, in LDraw nothing is impossible. + +LDraw™ is a trademark owned and licensed by the Estate of James Jessiman. This plug-in is not developed or endorsed by the creators of The LDraw System of Tools.
+ +Bricksmith logo + +**Bricksmith** allows you to create virtual instructions for your Lego creations on your Mac.
+ +LSynth example + +**LSynth** is a program that synthesizes bendable parts for LDraw files.
+ +LEGO logo + +**LEGO**® is a registered trademark of the Lego Group
diff --git a/ImportLDraw/__init__.py b/ImportLDraw/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..677efade2f51eb5887995ee9334889a90d067d62 --- /dev/null +++ b/ImportLDraw/__init__.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +"""Import LDraw GPLv2 license. + +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 +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. + +""" + +import bpy + +from . import importldraw + +bl_info = { + "name": "Import LDraw", + "description": "Import LDraw models in .io .mpd .ldr .l3b and .dat formats", + "author": "Toby Nelson ", + "version": (1, 2, 1), + "blender": (2, 81, 0), + "location": "File > Import", + "warning": "", + "wiki_url": "https://github.com/TobyLobster/ImportLDraw", + "tracker_url": "https://github.com/TobyLobster/ImportLDraw/issues", + "category": "Import-Export" + } + + +def menuImport(self, context): + """Import menu listing label.""" + self.layout.operator(importldraw.ImportLDrawOps.bl_idname, + text="LDraw (.io/.mpd/.ldr/.l3b/.dat)") + + +def register(): + """Register Menu Listing.""" + bpy.utils.register_class(importldraw.ImportLDrawOps) + if hasattr(bpy.types, 'TOPBAR_MT_file_import'): + # Blender 2.80 + bpy.types.TOPBAR_MT_file_import.append(menuImport) + else: + # Blender 2.79 + bpy.types.INFO_MT_file_import.append(menuImport) + + +def unregister(): + """Unregister Menu Listing.""" + bpy.utils.unregister_class(importldraw.ImportLDrawOps) + if hasattr(bpy.types, 'TOPBAR_MT_file_import'): + # Blender 2.80 + bpy.types.TOPBAR_MT_file_import.remove(menuImport) + else: + # Blender 2.79 + bpy.types.INFO_MT_file_import.remove(menuImport) + + +if __name__ == "__main__": + register() diff --git a/ImportLDraw/__version__.py b/ImportLDraw/__version__.py new file mode 100644 index 0000000000000000000000000000000000000000..9207208e706fa95aaecc816c1508bbb126a03a6f --- /dev/null +++ b/ImportLDraw/__version__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +version = (1, 2, 1) diff --git a/ImportLDraw/importldraw.py b/ImportLDraw/importldraw.py new file mode 100644 index 0000000000000000000000000000000000000000..af1098472fb573fc5736b118e5bc2713e9686fbf --- /dev/null +++ b/ImportLDraw/importldraw.py @@ -0,0 +1,400 @@ +# -*- coding: utf-8 -*- +"""Import LDraw GPLv2 license. + +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 +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. + +""" + +""" +Import LDraw + +This file defines the importer for Blender. +It stores and recalls preferences for the importer. +The execute() function kicks off the import process. +The python module loadldraw does the actual work. +""" + +import configparser +import os +import bpy +from bpy.props import (StringProperty, + FloatProperty, + EnumProperty, + BoolProperty + ) +from bpy_extras.io_utils import ImportHelper +from .loadldraw import loadldraw + +""" +Example preferences file: + +[DEFAULT] + +[importldraw] +ldrawDirectory = "" +realScale = 0.0002 +resolution = "Standard" +smoothShading = True +useLook = "normal" +useColourScheme = "lgeo" +gaps = True +realGapWidth = 0.0002 +createInstances = True +numberNodes = True +positionObjectOnGroundAtOrigin = True +flattenHierarchy = False +useUnofficialParts = True +useLogoStuds = False +instanceStuds = False +curvedWalls = True +(etc) +""" + + +class Preferences(): + """Import LDraw - Preferences""" + __sectionName = 'importldraw' + + def __init__(self): + self.__ldPath = None + self.__prefsPath = os.path.dirname(__file__) + self.__prefsFilepath = os.path.join(self.__prefsPath, "ImportLDrawPreferences.ini") + self.__config = configparser.RawConfigParser() + self.__prefsRead = self.__config.read(self.__prefsFilepath) + if self.__prefsRead and not self.__config[Preferences.__sectionName]: + self.__prefsRead = False + + def get(self, option, default): + if not self.__prefsRead: + return default + + if type(default) is bool: + return self.__config.getboolean(Preferences.__sectionName, option, fallback=default) + elif type(default) is float: + return self.__config.getfloat(Preferences.__sectionName, option, fallback=default) + elif type(default) is int: + return self.__config.getint(Preferences.__sectionName, option, fallback=default) + else: + return self.__config.get(Preferences.__sectionName, option, fallback=default) + + def set(self, option, value): + if not (Preferences.__sectionName in self.__config): + self.__config[Preferences.__sectionName] = {} + self.__config[Preferences.__sectionName][option] = str(value) + + def save(self): + try: + with open(self.__prefsFilepath, 'w') as configfile: + self.__config.write(configfile) + return True + except Exception: + # Fail gracefully + e = sys.exc_info()[0] + debugPrint("WARNING: Could not save preferences. {0}".format(e)) + return False + + +class ImportLDrawOps(bpy.types.Operator, ImportHelper): + """Import LDraw - Import Operator.""" + + bl_idname = "import_scene.importldraw" + bl_description = "Import LDraw models (.io/.mpd/.ldr/.l3b/.dat)" + bl_label = "Import LDraw Models" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + # Instance the preferences system + prefs = Preferences() + + # File type filter in file browser + filename_ext = ".ldr" + filter_glob: StringProperty( + default="*.io;*.mpd;*.ldr;*.l3b;*.dat", + options={'HIDDEN'} + ) + + ldrawPath: StringProperty( + name="", + description="Full filepath to the LDraw Parts Library (download from http://www.ldraw.org)", + default=prefs.get("ldrawDirectory", loadldraw.Configure.findDefaultLDrawDirectory()) + ) + + realScale: FloatProperty( + name="Scale", + description="Sets a scale for the model (1.0 = real life scale)", + default=prefs.get("realScale", 1.0) + ) + + resPrims: EnumProperty( + name="Resolution of part primitives", + description="Resolution of part primitives, ie. how much geometry they have", + default=prefs.get("resolution", "Standard"), + items=( + ("Standard", "Standard primitives", "Import using standard resolution primitives."), + ("High", "High resolution primitives", "Import using high resolution primitives."), + ("Low", "Low resolution primitives", "Import using low resolution primitives.") + ) + ) + + smoothParts: BoolProperty( + name="Smooth faces and edge-split", + description="Smooth faces and add an edge-split modifier", + default=prefs.get("smoothShading", True) + ) + + look: EnumProperty( + name="Overall Look", + description="Realism or Schematic look", + default=prefs.get("useLook", "normal"), + items=( + ("normal", "Realistic Look", "Render to look realistic."), + ("instructions", "Lego Instructions Look", "Render to look like the instruction book pictures."), + ) + ) + + colourScheme: EnumProperty( + name="Colour scheme options", + description="Colour scheme options", + default=prefs.get("useColurScheme", "lgeo"), + items=( + ("lgeo", "Realistic colours", "Uses the LGEO colour scheme for realistic colours."), + ("ldraw", "Original LDraw colours", "Uses the standard LDraw colour scheme. Looks good with the Instructions Look."), + ("alt", "Alternate LDraw colours", "Uses the alternate LDraw colour scheme. Looks good with the Instructions Look."), + ) + ) + + addGaps: BoolProperty( + name="Add space between each part:", + description="Add a small space between each part", + default=prefs.get("gaps", False) + ) + + gapWidthMM: FloatProperty( + name="Space", + description="Amount of space between each part (default 0.2mm)", + default=1000 * prefs.get("realGapWidth", 0.0002) + ) + + curvedWalls: BoolProperty( + name="Use curved wall normals", + description="Makes surfaces look slightly concave, for interesting reflections", + default=prefs.get("curvedWalls", True) + ) + + importCameras: BoolProperty( + name="Import cameras", + description="Import camera definitions (from models authored in LeoCAD)", + default=prefs.get("importCameras", True) + ) + + linkParts: BoolProperty( + name="Link identical parts", + description="Identical parts (of the same type and colour) share the same mesh", + default=prefs.get("linkParts", True) + ) + + numberNodes: BoolProperty( + name="Number each object", + description="Each object has a five digit prefix eg. 00001_car. This keeps the list in it's proper order", + default=prefs.get("numberNodes", True) + ) + + positionOnGround: BoolProperty( + name="Put model on ground at origin", + description="The object is centred at the origin, and on the ground plane", + default=prefs.get("positionObjectOnGroundAtOrigin", True) + ) + + flatten: BoolProperty( + name="Flatten tree", + description="In Scene Outliner, all parts are placed directly below the root - there's no tree of submodels", + default=prefs.get("flattenHierarchy", False) + ) + + minifigHierarchy: BoolProperty( + name="Parent Minifigs", + description="Add a parent/child hierarchy (tree) for Minifigs", + default=prefs.get("minifigHierarchy", True) + ) + + useUnofficialParts: BoolProperty( + name="Include unofficial parts", + description="Additionally searches for parts in the /unofficial/ directory", + default=prefs.get("useUnofficialParts", True) + ) + + useLogoStuds: BoolProperty( + name="Show 'LEGO' logo on studs", + description="Shows the LEGO logo on each stud (at the expense of some extra geometry and import time)", + default=prefs.get("useLogoStuds", False) + ) + + instanceStuds: BoolProperty( + name="Make individual studs", + description="Creates a Blender Object for each and every stud (WARNING: can be slow to import and edit in Blender if there are lots of studs)", + default=prefs.get("instanceStuds", False) + ) + + resolveNormals: EnumProperty( + name="Resolve ambiguous normals option", + description="Some older LDraw parts have faces with ambiguous normals, this specifies what do do with them", + default=prefs.get("resolveNormals", "guess"), + items=( + ("guess", "Recalculate Normals", "Uses Blender's Recalculate Normals to get a consistent set of normals."), + ("double", "Two faces back to back", "Two faces are added with their normals pointing in opposite directions."), + ) + ) + + bevelEdges: BoolProperty( + name="Bevel edges", + description="Adds a Bevel modifier for rounding off sharp edges", + default=prefs.get("bevelEdges", True) + ) + + bevelWidth: FloatProperty( + name="Bevel Width", + description="Width of the bevelled edges", + default=prefs.get("bevelWidth", 0.5) + ) + + addEnvironment: BoolProperty( + name="Add Environment", + description="Adds a ground plane and environment texture (for realistic look only)", + default=prefs.get("addEnvironment", True) + ) + + positionCamera: BoolProperty( + name="Position the camera", + description="Position the camera to show the whole model", + default=prefs.get("positionCamera", True) + ) + + cameraBorderPercentage: FloatProperty( + name="Camera Border %", + description="When positioning the camera, include a (percentage) border leeway around the model in the rendered image", + default=prefs.get("cameraBorderPercentage", 5.0) + ) + + def draw(self, context): + """Display import options.""" + + layout = self.layout + layout.use_property_split = True # Active single-column layout + + box = layout.box() + box.label(text="Import Options", icon='PREFERENCES') + box.label(text="LDraw filepath:", icon='FILEBROWSER') + box.prop(self, "ldrawPath") + box.prop(self, "realScale") + box.prop(self, "look", expand=True) + box.prop(self, "addEnvironment") + box.prop(self, "positionCamera") + box.prop(self, "cameraBorderPercentage") + + box.prop(self, "colourScheme", expand=True) + box.prop(self, "resPrims", expand=True) + box.prop(self, "smoothParts") + box.prop(self, "bevelEdges") + box.prop(self, "bevelWidth") + box.prop(self, "addGaps") + box.prop(self, "gapWidthMM") + box.prop(self, "curvedWalls") + box.prop(self, "importCameras") + box.prop(self, "linkParts") + box.prop(self, "useUnofficialParts") + + box.prop(self, "useLogoStuds") + box.prop(self, "instanceStuds") + + box.prop(self, "positionOnGround") + box.prop(self, "numberNodes") + box.prop(self, "flatten") + box.prop(self, "minifigHierarchy") + + box.label(text="Resolve Ambiguous Normals:", icon='ORIENTATION_NORMAL') + box.prop(self, "resolveNormals", expand=True) + + def execute(self, context): + """Start the import process.""" + + # Read current preferences from the UI and save them + ImportLDrawOps.prefs.set("ldrawDirectory", self.ldrawPath) + ImportLDrawOps.prefs.set("realScale", self.realScale) + ImportLDrawOps.prefs.set("resolution", self.resPrims) + ImportLDrawOps.prefs.set("smoothShading", self.smoothParts) + ImportLDrawOps.prefs.set("bevelEdges", self.bevelEdges) + ImportLDrawOps.prefs.set("bevelWidth", self.bevelWidth) + ImportLDrawOps.prefs.set("useLook", self.look) + ImportLDrawOps.prefs.set("useColourScheme", self.colourScheme) + ImportLDrawOps.prefs.set("gaps", self.addGaps) + ImportLDrawOps.prefs.set("realGapWidth", self.gapWidthMM / 1000) + ImportLDrawOps.prefs.set("curvedWalls", self.curvedWalls) + ImportLDrawOps.prefs.set("importCameras", self.importCameras) + ImportLDrawOps.prefs.set("linkParts", self.linkParts) + ImportLDrawOps.prefs.set("numberNodes", self.numberNodes) + ImportLDrawOps.prefs.set("positionObjectOnGroundAtOrigin", self.positionOnGround) + ImportLDrawOps.prefs.set("flattenHierarchy", self.flatten) + ImportLDrawOps.prefs.set("minifigHierarchy", self.minifigHierarchy) + ImportLDrawOps.prefs.set("useUnofficialParts", self.useUnofficialParts) + ImportLDrawOps.prefs.set("useLogoStuds", self.useLogoStuds) + ImportLDrawOps.prefs.set("instanceStuds", self.instanceStuds) + ImportLDrawOps.prefs.set("resolveNormals", self.resolveNormals) + ImportLDrawOps.prefs.set("addEnvironment", self.addEnvironment) + ImportLDrawOps.prefs.set("positionCamera", self.positionCamera) + ImportLDrawOps.prefs.set("cameraBorderPercentage",self.cameraBorderPercentage) + ImportLDrawOps.prefs.save() + + # Set bpy related variables here since it isn't available immediately on Blender startup + loadldraw.hasCollections = hasattr(bpy.data, "collections") + + # Set import options and import + loadldraw.Options.ldrawDirectory = self.ldrawPath + loadldraw.Options.realScale = self.realScale + loadldraw.Options.useUnofficialParts = self.useUnofficialParts + loadldraw.Options.resolution = self.resPrims + loadldraw.Options.defaultColour = "4" + loadldraw.Options.createInstances = self.linkParts + loadldraw.Options.instructionsLook = self.look == "instructions" + loadldraw.Options.useColourScheme = self.colourScheme + loadldraw.Options.numberNodes = self.numberNodes + loadldraw.Options.removeDoubles = True + loadldraw.Options.smoothShading = self.smoothParts + loadldraw.Options.edgeSplit = self.smoothParts # Edge split is appropriate only if we are smoothing + loadldraw.Options.gaps = self.addGaps + loadldraw.Options.realGapWidth = self.gapWidthMM / 1000 + loadldraw.Options.curvedWalls = self.curvedWalls + loadldraw.Options.importCameras = self.importCameras + loadldraw.Options.positionObjectOnGroundAtOrigin = self.positionOnGround + loadldraw.Options.flattenHierarchy = self.flatten + loadldraw.Options.minifigHierarchy = self.minifigHierarchy + loadldraw.Options.useLogoStuds = self.useLogoStuds + loadldraw.Options.logoStudVersion = "4" + loadldraw.Options.instanceStuds = self.instanceStuds + loadldraw.Options.useLSynthParts = True + loadldraw.Options.LSynthDirectory = os.path.join(os.path.dirname(__file__), "lsynth") + loadldraw.Options.studLogoDirectory = os.path.join(os.path.dirname(__file__), "studs") + loadldraw.Options.resolveAmbiguousNormals = self.resolveNormals + loadldraw.Options.overwriteExistingMaterials = False + loadldraw.Options.overwriteExistingMeshes = False + loadldraw.Options.addBevelModifier = self.bevelEdges and not loadldraw.Options.instructionsLook + loadldraw.Options.bevelWidth = self.bevelWidth + loadldraw.Options.addWorldEnvironmentTexture = self.addEnvironment + loadldraw.Options.addGroundPlane = self.addEnvironment + loadldraw.Options.positionCamera = self.positionCamera + loadldraw.Options.cameraBorderPercent = self.cameraBorderPercentage / 100.0 + + loadldraw.loadFromFile(self, self.filepath) + return {'FINISHED'} diff --git a/ImportLDraw/loadldraw/__init__.py b/ImportLDraw/loadldraw/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ImportLDraw/loadldraw/background.exr b/ImportLDraw/loadldraw/background.exr new file mode 100644 index 0000000000000000000000000000000000000000..80c7de01fb2a27158834ea3ce0feb84adce48343 --- /dev/null +++ b/ImportLDraw/loadldraw/background.exr @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83f78d60aae13a35c8ffcc814719d1402eec92f82033ccdde8cd8003ad06ed86 +size 61727090 diff --git a/ImportLDraw/loadldraw/loadldraw.py b/ImportLDraw/loadldraw/loadldraw.py new file mode 100644 index 0000000000000000000000000000000000000000..235bc7877da33470ed58828a77f6f7e05a45b7d2 --- /dev/null +++ b/ImportLDraw/loadldraw/loadldraw.py @@ -0,0 +1,4778 @@ +# -*- coding: utf-8 -*- +"""Load LDraw GPLv2 license. + +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 +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. + +""" + +""" +Import LDraw + +This module loads LDraw compatible files into Blender. Set the +Options first, then call loadFromFile() function with the full +filepath of a file to load. + +Accepts .io, .mpd, .ldr, .l3b, and .dat files. + +Toby Nelson - tobymnelson@gmail.com +""" + +import os +import sys +import math +import mathutils +import traceback +import glob +import bpy +import datetime +import struct +import re +import bmesh +import copy +import platform +import itertools +import operator +import zipfile +import tempfile + +from pprint import pprint + +# ************************************************************************************** +def linkToScene(ob): + if bpy.context.collection.objects.find(ob.name) < 0: + bpy.context.collection.objects.link(ob) + +# ************************************************************************************** +def linkToCollection(collectionName, ob): + # Add object to the appropriate collection + if hasCollections: + if bpy.data.collections[collectionName].objects.find(ob.name) < 0: + bpy.data.collections[collectionName].objects.link(ob) + else: + bpy.data.groups[collectionName].objects.link(ob) + +# ************************************************************************************** +def unlinkFromScene(ob): + if bpy.context.collection.objects.find(ob.name) >= 0: + bpy.context.collection.objects.unlink(ob) + +# ************************************************************************************** +def selectObject(ob): + ob.select_set(state=True) + bpy.context.view_layer.objects.active = ob + +# ************************************************************************************** +def deselectObject(ob): + ob.select_set(state=False) + bpy.context.view_layer.objects.active = None + +# ************************************************************************************** +def addPlane(location, size): + bpy.ops.mesh.primitive_plane_add(size=size, enter_editmode=False, location=location) + +# ************************************************************************************** +def useDenoising(scene, useDenoising): + if hasattr(getLayers(scene)[0], "cycles"): + getLayers(scene)[0].cycles.use_denoising = useDenoising + +# ************************************************************************************** +def getLayerNames(scene): + return list(map((lambda x: x.name), getLayers(scene))) + +# ************************************************************************************** +def deleteEdge(bm, edge): + bmesh.ops.delete(bm, geom=edge, context='EDGES') + +# ************************************************************************************** +def getLayers(scene): + # Get the render/view layers we are interested in: + return scene.view_layers + +# ************************************************************************************** +def getDiffuseColor(color): + return color + (1.0,) + +# ************************************************************************************** +def ShowMessageBox(message = "", title = "Message Box", icon = 'INFO'): + def draw(self, context): + self.layout.label(text=message) + + bpy.context.window_manager.popup_menu(draw, title = title, icon = icon) + + +# ************************************************************************************** +# ************************************************************************************** +class Options: + """User Options""" + + # Full filepath to ldraw folder. If empty, some standard locations are attempted + ldrawDirectory = r"" # Full filepath to the ldraw parts library (searches some standard locations if left blank) + instructionsLook = False # Set up scene to look like Lego Instruction booklets + #scale = 0.01 # Size of the lego model to create. (0.04 is LeoCAD scale) + realScale = 1 # Scale of lego model to create (1 represents real Lego scale) + useUnofficialParts = True # Additionally searches /unofficial/parts and /p for files + resolution = "Standard" # Choose from "High", "Standard", or "Low" + defaultColour = "4" # Default colour ("4" = red) + createInstances = True # Multiple bricks share geometry (recommended) + useColourScheme = "lgeo" # "ldraw", "alt", or "lgeo". LGEO gives the most true-to-life colours. + numberNodes = True # Each node's name has a numerical prefix eg. 00001_car.dat (keeps nodes listed in a fixed order) + removeDoubles = True # Remove duplicate vertices (recommended) + smoothShading = True # Smooth the surface normals (recommended) + edgeSplit = True # Edge split modifier (recommended if you use smoothShading) + gaps = True # Introduces a tiny space between each brick + realGapWidth = 0.0002 # Width of gap between bricks (in metres) + curvedWalls = True # Manipulate normals to make surfaces look slightly concave + importCameras = True # LeoCAD can specify cameras within the ldraw file format. Choose to load them or ignore them. + positionObjectOnGroundAtOrigin = True # Centre the object at the origin, sitting on the z=0 plane + flattenHierarchy = False # All parts are under the root object - no sub-models + minifigHierarchy = True # Parts of minifigs are automatically parented to each other in a hierarchy + flattenGroups = False # All LEOCad groups are ignored - no groups + usePrincipledShaderWhenAvailable = True # Use the new principled shader + scriptDirectory = os.path.dirname( os.path.realpath(__file__) ) + + # We have the option of including the 'LEGO' logo on each stud + useLogoStuds = False # Use the studs with the 'LEGO' logo on them + logoStudVersion = "4" # Which version of the logo to use ("3" (flat), "4" (rounded) or "5" (subtle rounded)) + instanceStuds = False # Each stud is a new Blender object (slow) + + # LSynth (http://www.holly-wood.it/lsynth/tutorial-en.html) is a collection of parts used to render string, hoses, cables etc + useLSynthParts = True # LSynth is used to render string, hoses etc. + LSynthDirectory = r"" # Full path to the lsynth parts (Defaults to /unofficial/lsynth if left blank) + studLogoDirectory = r"" # Optional full path to the stud logo parts (if not found in unofficial directory) + + # Ambiguous Normals + # Older LDraw parts (parts not yet BFC certified) have ambiguous normals. + # We resolve this by creating double sided faces ("double") or by taking a best guess ("guess") + resolveAmbiguousNormals = "guess" # How to resolve ambiguous normals + + overwriteExistingMaterials = True # If there's an existing material with the same name, do we overwrite it, or use it? + overwriteExistingMeshes = True # If there's an existing mesh with the same name, do we overwrite it, or use it? + verbose = 1 # 1 = Show messages while working, 0 = Only show warnings/errors + + addBevelModifier = True # Adds a bevel modifier to each part (for rounded edges) + bevelWidth = 0.5 # Width of bevel + + addWorldEnvironmentTexture = True # Add an environment texture + addGroundPlane = True # Add a ground plane + setRenderSettings = True # Set render percentage, denoising + removeDefaultObjects = True # Remove cube and lamp + positionCamera = True # Position the camera where so we get the whole object in shot + cameraBorderPercent = 0.05 # Add a border gap around the positioned object (0.05 = 5%) for the rendered image + + def meshOptionsString(): + """These options change the mesh, so if they change, a new mesh needs to be cached""" + + return "_".join([str(Options.realScale), + str(Options.useUnofficialParts), + str(Options.instructionsLook), + str(Options.resolution), + str(Options.defaultColour), + str(Options.createInstances), + str(Options.useColourScheme), + str(Options.removeDoubles), + str(Options.smoothShading), + str(Options.gaps), + str(Options.realGapWidth), + str(Options.curvedWalls), + str(Options.flattenHierarchy), + str(Options.minifigHierarchy), + str(Options.useLogoStuds), + str(Options.logoStudVersion), + str(Options.instanceStuds), + str(Options.useLSynthParts), + str(Options.LSynthDirectory), + str(Options.studLogoDirectory), + str(Options.resolveAmbiguousNormals), + str(Options.addBevelModifier), + str(Options.bevelWidth)]) + +# ************************************************************************************** +# Globals +globalBrickCount = 0 +globalObjectsToAdd = [] # Blender objects to add to the scene +globalCamerasToAdd = [] # Camera data to add to the scene +globalContext = None +globalPoints = [] +globalScaleFactor = 0.0004 +globalWeldDistance = 0.0005 + +hasCollections = None +lightName = "Light" + +# ************************************************************************************** +# Dictionary with as keys the part numbers (without any extension for decorations) +# of pieces that have grainy slopes, and as values a set containing the angles (in +# degrees) of the face's normal to the horizontal plane. Use a tuple to represent a +# range within which the angle must lie. +globalSlopeBricks = { + '962':{45}, + '2341':{-45}, + '2449':{-16}, + '2875':{45}, + '2876':{(40, 63)}, + '3037':{45}, + '3038':{45}, + '3039':{45}, + '3040':{45}, + '3041':{45}, + '3042':{45}, + '3043':{45}, + '3044':{45}, + '3045':{45}, + '3046':{45}, + '3048':{45}, + '3049':{45}, + '3135':{45}, + '3297':{63}, + '3298':{63}, + '3299':{63}, + '3300':{63}, + '3660':{-45}, + '3665':{-45}, + '3675':{63}, + '3676':{-45}, + '3678b':{24}, + '3684':{15}, + '3685':{16}, + '3688':{15}, + '3747':{-63}, + '4089':{-63}, + '4161':{63}, + '4286':{63}, + '4287':{-63}, + '4445':{45}, + '4460':{16}, + '4509':{63}, + '4854':{-45}, + '4856':{(-60, -70), -45}, + '4857':{45}, + '4858':{72}, + '4861':{45, 63}, + '4871':{-45}, + '4885':{72}, #blank + '6069':{72, 45}, + '6153':{(60, 70), (26, 34)}, + '6227':{45}, + '6270':{45}, + '13269':{(40, 63)}, + '13548':{(45, 35)}, + '15571':{45}, + '18759':{-45}, + '22390':{(40, 55)}, #blank + '22391':{(40, 55)}, + '22889':{-45}, + '28192':{45}, #blank + '30180':{47}, + '30182':{45}, + '30183':{-45}, + '30249':{35}, + '30283':{-45}, + '30363':{72}, + '30373':{-24}, + '30382':{11, 45}, + '30390':{-45}, + '30499':{16}, + '32083':{45}, + '43708':{(64, 72)}, + '43710':{72, 45}, + '43711':{72, 45}, + '47759':{(40, 63)}, + '52501':{-45}, + '60219':{-45}, + '60477':{72}, + '60481':{24}, + '63341':{45}, + '72454':{-45}, + '92946':{45}, + '93348':{72}, + '95188':{65}, + '99301':{63}, + '303923':{45}, + '303926':{45}, + '304826':{45}, + '329826':{64}, + '374726':{-64}, + '428621':{64}, + '4162628':{17}, + '4195004':{45}, +} + +globalLightBricks = { + '62930.dat':(1.0,0.373,0.059,1.0), + '54869.dat':(1.0,0.052,0.017,1.0) +} + +# Create a regular dictionary of parts with ranges of angles to check +margin = 5 # Allow 5 degrees either way to compensate for measuring inaccuracies +globalSlopeAngles = {} +for part, angles in globalSlopeBricks.items(): + globalSlopeAngles[part] = {(c-margin, c+margin) if type(c) is not tuple else (min(c)-margin,max(c)+margin) for c in angles} + +# ************************************************************************************** +def internalPrint(message): + """Debug print with identification timestamp.""" + + # Current timestamp (with milliseconds trimmed to two places) + timestamp = datetime.datetime.now().strftime("%H:%M:%S.%f")[:-4] + + message = "{0} [importldraw] {1}".format(timestamp, message) + print("{0}".format(message)) + + global globalContext + if globalContext is not None: + globalContext.report({'INFO'}, message) + +# ************************************************************************************** +def debugPrint(message): + """Debug print with identification timestamp.""" + + if Options.verbose > 0: + internalPrint(message) + +# ************************************************************************************** +def printWarningOnce(key, message=None): + if message is None: + message = key + + if key not in Configure.warningSuppression: + internalPrint("WARNING: {0}".format(message)) + Configure.warningSuppression[key] = True + + global globalContext + if globalContext is not None: + globalContext.report({'WARNING'}, message) + +# ************************************************************************************** +def printError(message): + internalPrint("ERROR: {0}".format(message)) + + global globalContext + if globalContext is not None: + globalContext.report({'ERROR'}, message) + + +# ************************************************************************************** +# ************************************************************************************** +class Math: + identityMatrix = mathutils.Matrix(( + (1.0, 0.0, 0.0, 0.0), + (0.0, 1.0, 0.0, 0.0), + (0.0, 0.0, 1.0, 0.0), + (0.0, 0.0, 0.0, 1.0) + )) + rotationMatrix = mathutils.Matrix.Rotation(math.radians(-90), 4, 'X') + reflectionMatrix = mathutils.Matrix(( + (1.0, 0.0, 0.0, 0.0), + (0.0, 1.0, 0.0, 0.0), + (0.0, 0.0, -1.0, 0.0), + (0.0, 0.0, 0.0, 1.0) + )) + + def clamp01(value): + return max(min(value, 1.0), 0.0) + + def __init__(self): + global globalScaleFactor + + # Rotation and scale matrices that convert LDraw coordinate space to Blender coordinate space + Math.scaleMatrix = mathutils.Matrix(( + (globalScaleFactor, 0.0, 0.0, 0.0), + (0.0, globalScaleFactor, 0.0, 0.0), + (0.0, 0.0, globalScaleFactor, 0.0), + (0.0, 0.0, 0.0, 1.0) + )) + + +# ************************************************************************************** +# ************************************************************************************** +class Configure: + """Configuration. + Attempts to find the ldraw directory (platform specific directories are searched). + Stores the list of paths to parts libraries that we search for individual parts. + Stores warning messages we have already seen so we don't see them again. + """ + + searchPaths = [] + warningSuppression = {} + tempDir = None + + def appendPath(path): + if os.path.exists(path): + Configure.searchPaths.append(path) + + def __setSearchPaths(): + Configure.searchPaths = [] + + # Always search for parts in the 'models' folder + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "models")) + + # Search for stud logo parts + if Options.useLogoStuds and Options.studLogoDirectory != "": + if Options.resolution == "Low": + Configure.appendPath(os.path.join(Options.studLogoDirectory, "8")) + Configure.appendPath(Options.studLogoDirectory) + + # Search unofficial parts + if Options.useUnofficialParts: + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "unofficial", "parts")) + + if Options.resolution == "High": + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "unofficial", "p", "48")) + elif Options.resolution == "Low": + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "unofficial", "p", "8")) + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "unofficial", "p")) + + # Add 'Tente' parts too + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "tente", "parts")) + + if Options.resolution == "High": + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "tente", "p", "48")) + elif Options.resolution == "Low": + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "tente", "p", "8")) + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "tente", "p")) + + # Search LSynth parts + if Options.useLSynthParts: + if Options.LSynthDirectory != "": + Configure.appendPath(Options.LSynthDirectory) + else: + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "unofficial", "lsynth")) + debugPrint("Use LSynth Parts requested") + + # Search official parts + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "parts")) + if Options.resolution == "High": + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "p", "48")) + debugPrint("High-res primitives selected") + elif Options.resolution == "Low": + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "p", "8")) + debugPrint("Low-res primitives selected") + else: + debugPrint("Standard-res primitives selected") + + Configure.appendPath(os.path.join(Configure.ldrawInstallDirectory, "p")) + + def isWindows(): + return platform.system() == "Windows" + + def isMac(): + return platform.system() == "Darwin" + + def isLinux(): + return platform.system() == "Linux" + + def findDefaultLDrawDirectory(): + result = "" + # Get list of possible ldraw installation directories for the platform + if Configure.isWindows(): + ldrawPossibleDirectories = [ + "C:\\LDraw", + "C:\\Program Files\\LDraw", + "C:\\Program Files (x86)\\LDraw", + "C:\\Program Files\\Studio 2.0\\ldraw", + ] + elif Configure.isMac(): + ldrawPossibleDirectories = [ + "~/ldraw/", + "/Applications/LDraw/", + "/Applications/ldraw/", + "/usr/local/share/ldraw", + "/Applications/Studio 2.0/ldraw", + ] + else: # Default to Linux if not Windows or Mac + ldrawPossibleDirectories = [ + "~/LDraw", + "~/ldraw", + "~/.LDraw", + "~/.ldraw", + "/usr/local/share/ldraw", + ] + + # Search possible directories + for dir in ldrawPossibleDirectories: + dir = os.path.expanduser(dir) + if os.path.isfile(os.path.join(dir, "LDConfig.ldr")): + result = dir + break + + return result + + def setLDrawDirectory(): + if Options.ldrawDirectory == "": + Configure.ldrawInstallDirectory = Configure.findDefaultLDrawDirectory() + else: + Configure.ldrawInstallDirectory = os.path.expanduser(Options.ldrawDirectory) + + debugPrint("The LDraw Parts Library path to be used is: {0}".format(Configure.ldrawInstallDirectory)) + Configure.__setSearchPaths() + + def __init__(self): + Configure.setLDrawDirectory() + + +# ************************************************************************************** +# ************************************************************************************** +class LegoColours: + """Parses and stores a table of colour / material definitions. Converts colour space.""" + + colours = {} + + def __getValue(line, value): + """Parses a colour value from the ldConfig.ldr file""" + if value in line: + n = line.index(value) + return line[n + 1] + + def __sRGBtoRGBValue(value): + # See https://en.wikipedia.org/wiki/SRGB#The_reverse_transformation + if value < 0.04045: + return value / 12.92 + return ((value + 0.055)/1.055)**2.4 + + def isDark(colour): + R = colour[0] + G = colour[1] + B = colour[2] + + # Measure the perceived brightness of colour + brightness = math.sqrt( 0.299*R*R + 0.587*G*G + 0.114*B*B ) + + # Dark colours have white lines + if brightness < 0.03: + return True + return False + + def sRGBtoLinearRGB(sRGBColour): + # See https://en.wikipedia.org/wiki/SRGB#The_reverse_transformation + (sr, sg, sb) = sRGBColour + r = LegoColours.__sRGBtoRGBValue(sr) + g = LegoColours.__sRGBtoRGBValue(sg) + b = LegoColours.__sRGBtoRGBValue(sb) + return (r,g,b) + + def hexDigitsToLinearRGBA(hexDigits, alpha): + # String is "RRGGBB" format + int_tuple = struct.unpack('BBB', bytes.fromhex(hexDigits)) + sRGB = tuple([val / 255 for val in int_tuple]) + linearRGB = LegoColours.sRGBtoLinearRGB(sRGB) + return (linearRGB[0], linearRGB[1], linearRGB[2], alpha) + + def hexStringToLinearRGBA(hexString): + """Convert colour hex value to RGB value.""" + # Handle direct colours + # Direct colours are documented here: http://www.hassings.dk/l3/l3p.html + match = re.fullmatch(r"0x0*([0-9])((?:[A-F0-9]{2}){3})", hexString) + if match is not None: + digit = match.group(1) + rgb_str = match.group(2) + + interleaved = False + if digit == "2": # Opaque + alpha = 1.0 + elif digit == "3": # Transparent + alpha = 0.5 + elif digit == "4": # Opaque + alpha = 1.0 + interleaved = True + elif digit == "5": # More Transparent + alpha = 0.333 + interleaved = True + elif digit == "6": # Less transparent + alpha = 0.666 + interleaved = True + elif digit == "7": # Invisible + alpha = 0.0 + interleaved = True + else: + alpha = 1.0 + + if interleaved: + # Input string is six hex digits of two colours "RGBRGB". + # This was designed to be a dithered colour. + # Take the average of those two colours (R+R,G+G,B+B) * 0.5 + r = float(int(rgb_str[0], 16)) / 15 + g = float(int(rgb_str[1], 16)) / 15 + b = float(int(rgb_str[2], 16)) / 15 + colour1 = LegoColours.sRGBtoLinearRGB((r,g,b)) + r = float(int(rgb_str[3], 16)) / 15 + g = float(int(rgb_str[4], 16)) / 15 + b = float(int(rgb_str[5], 16)) / 15 + colour2 = LegoColours.sRGBtoLinearRGB((r,g,b)) + return (0.5 * (colour1[0] + colour2[0]), + 0.5 * (colour1[1] + colour2[1]), + 0.5 * (colour1[2] + colour2[2]), alpha) + + # String is "RRGGBB" format + return LegoColours.hexDigitsToLinearRGBA(rgb_str, alpha) + return None + + def __overwriteColour(index, sRGBColour): + if index in LegoColours.colours: + # Colour Space Management: Convert sRGB colour values to Blender's linear RGB colour space + LegoColours.colours[index]["colour"] = LegoColours.sRGBtoLinearRGB(sRGBColour) + + def __readColourTable(): + """Reads the colour values from the LDConfig.ldr file. For details of the + Ldraw colour system see: http://www.ldraw.org/article/547""" + if Options.useColourScheme == "alt": + configFilename = "LDCfgalt.ldr" + else: + configFilename = "LDConfig.ldr" + + configFilepath = os.path.join(Configure.ldrawInstallDirectory, configFilename) + + ldconfig_lines = "" + if os.path.exists(configFilepath): + with open(configFilepath, "rt", encoding="utf_8") as ldconfig: + ldconfig_lines = ldconfig.readlines() + + for line in ldconfig_lines: + if len(line) > 3: + if line[2:4].lower() == '!c': + line_split = line.split() + + name = line_split[2] + code = int(line_split[4]) + linearRGBA = LegoColours.hexDigitsToLinearRGBA(line_split[6][1:], 1.0) + + colour = { + "name": name, + "colour": linearRGBA[0:3], + "alpha": linearRGBA[3], + "luminance": 0.0, + "material": "BASIC" + } + + if "ALPHA" in line_split: + colour["alpha"] = int(LegoColours.__getValue(line_split, "ALPHA")) / 256.0 + + if "LUMINANCE" in line_split: + colour["luminance"] = int(LegoColours.__getValue(line_split, "LUMINANCE")) + + if "CHROME" in line_split: + colour["material"] = "CHROME" + + if "PEARLESCENT" in line_split: + colour["material"] = "PEARLESCENT" + + if "RUBBER" in line_split: + colour["material"] = "RUBBER" + + if "METAL" in line_split: + colour["material"] = "METAL" + + if "MATERIAL" in line_split: + subline = line_split[line_split.index("MATERIAL"):] + + colour["material"] = LegoColours.__getValue(subline, "MATERIAL") + hexDigits = LegoColours.__getValue(subline, "VALUE")[1:] + colour["secondary_colour"] = LegoColours.hexDigitsToLinearRGBA(hexDigits, 1.0) + colour["fraction"] = LegoColours.__getValue(subline, "FRACTION") + colour["vfraction"] = LegoColours.__getValue(subline, "VFRACTION") + colour["size"] = LegoColours.__getValue(subline, "SIZE") + colour["minsize"] = LegoColours.__getValue(subline, "MINSIZE") + colour["maxsize"] = LegoColours.__getValue(subline, "MAXSIZE") + + LegoColours.colours[code] = colour + + if Options.useColourScheme == "lgeo": + # LGEO is a parts library for rendering LEGO using the povray rendering software. + # It has a list of LEGO colours suitable for realistic rendering. + # I've extracted the following colours from the LGEO file: lg_color.inc + # LGEO is downloadable from http://ldraw.org/downloads-2/downloads.html + # We overwrite the standard LDraw colours if we have better LGEO colours. + LegoColours.__overwriteColour(0, ( 33/255, 33/255, 33/255)) + LegoColours.__overwriteColour(1, ( 13/255, 105/255, 171/255)) + LegoColours.__overwriteColour(2, ( 40/255, 127/255, 70/255)) + LegoColours.__overwriteColour(3, ( 0/255, 143/255, 155/255)) + LegoColours.__overwriteColour(4, (196/255, 40/255, 27/255)) + LegoColours.__overwriteColour(5, (205/255, 98/255, 152/255)) + LegoColours.__overwriteColour(6, ( 98/255, 71/255, 50/255)) + LegoColours.__overwriteColour(7, (161/255, 165/255, 162/255)) + LegoColours.__overwriteColour(8, (109/255, 110/255, 108/255)) + LegoColours.__overwriteColour(9, (180/255, 210/255, 227/255)) + LegoColours.__overwriteColour(10, ( 75/255, 151/255, 74/255)) + LegoColours.__overwriteColour(11, ( 85/255, 165/255, 175/255)) + LegoColours.__overwriteColour(12, (242/255, 112/255, 94/255)) + LegoColours.__overwriteColour(13, (252/255, 151/255, 172/255)) + LegoColours.__overwriteColour(14, (245/255, 205/255, 47/255)) + LegoColours.__overwriteColour(15, (242/255, 243/255, 242/255)) + LegoColours.__overwriteColour(17, (194/255, 218/255, 184/255)) + LegoColours.__overwriteColour(18, (249/255, 233/255, 153/255)) + LegoColours.__overwriteColour(19, (215/255, 197/255, 153/255)) + LegoColours.__overwriteColour(20, (193/255, 202/255, 222/255)) + LegoColours.__overwriteColour(21, (224/255, 255/255, 176/255)) + LegoColours.__overwriteColour(22, (107/255, 50/255, 123/255)) + LegoColours.__overwriteColour(23, ( 35/255, 71/255, 139/255)) + LegoColours.__overwriteColour(25, (218/255, 133/255, 64/255)) + LegoColours.__overwriteColour(26, (146/255, 57/255, 120/255)) + LegoColours.__overwriteColour(27, (164/255, 189/255, 70/255)) + LegoColours.__overwriteColour(28, (149/255, 138/255, 115/255)) + LegoColours.__overwriteColour(29, (228/255, 173/255, 200/255)) + LegoColours.__overwriteColour(30, (172/255, 120/255, 186/255)) + LegoColours.__overwriteColour(31, (225/255, 213/255, 237/255)) + LegoColours.__overwriteColour(32, ( 0/255, 20/255, 20/255)) + LegoColours.__overwriteColour(33, (123/255, 182/255, 232/255)) + LegoColours.__overwriteColour(34, (132/255, 182/255, 141/255)) + LegoColours.__overwriteColour(35, (217/255, 228/255, 167/255)) + LegoColours.__overwriteColour(36, (205/255, 84/255, 75/255)) + LegoColours.__overwriteColour(37, (228/255, 173/255, 200/255)) + LegoColours.__overwriteColour(38, (255/255, 43/255, 0/225)) + LegoColours.__overwriteColour(40, (166/255, 145/255, 130/255)) + LegoColours.__overwriteColour(41, (170/255, 229/255, 255/255)) + LegoColours.__overwriteColour(42, (198/255, 255/255, 0/255)) + LegoColours.__overwriteColour(43, (193/255, 223/255, 240/255)) + LegoColours.__overwriteColour(44, (150/255, 112/255, 159/255)) + LegoColours.__overwriteColour(46, (247/255, 241/255, 141/255)) + LegoColours.__overwriteColour(47, (252/255, 252/255, 252/255)) + LegoColours.__overwriteColour(52, (156/255, 149/255, 199/255)) + LegoColours.__overwriteColour(54, (255/255, 246/255, 123/255)) + LegoColours.__overwriteColour(57, (226/255, 176/255, 96/255)) + LegoColours.__overwriteColour(65, (236/255, 201/255, 53/255)) + LegoColours.__overwriteColour(66, (202/255, 176/255, 0/255)) + LegoColours.__overwriteColour(67, (255/255, 255/255, 255/255)) + LegoColours.__overwriteColour(68, (243/255, 207/255, 155/255)) + LegoColours.__overwriteColour(69, (142/255, 66/255, 133/255)) + LegoColours.__overwriteColour(70, (105/255, 64/255, 39/255)) + LegoColours.__overwriteColour(71, (163/255, 162/255, 164/255)) + LegoColours.__overwriteColour(72, ( 99/255, 95/255, 97/255)) + LegoColours.__overwriteColour(73, (110/255, 153/255, 201/255)) + LegoColours.__overwriteColour(74, (161/255, 196/255, 139/255)) + LegoColours.__overwriteColour(77, (220/255, 144/255, 149/255)) + LegoColours.__overwriteColour(78, (246/255, 215/255, 179/255)) + LegoColours.__overwriteColour(79, (255/255, 255/255, 255/255)) + LegoColours.__overwriteColour(80, (140/255, 140/255, 140/255)) + LegoColours.__overwriteColour(82, (219/255, 172/255, 52/255)) + LegoColours.__overwriteColour(84, (170/255, 125/255, 85/255)) + LegoColours.__overwriteColour(85, ( 52/255, 43/255, 117/255)) + LegoColours.__overwriteColour(86, (124/255, 92/255, 69/255)) + LegoColours.__overwriteColour(89, (155/255, 178/255, 239/255)) + LegoColours.__overwriteColour(92, (204/255, 142/255, 104/255)) + LegoColours.__overwriteColour(100, (238/255, 196/255, 182/255)) + LegoColours.__overwriteColour(115, (199/255, 210/255, 60/255)) + LegoColours.__overwriteColour(134, (174/255, 122/255, 89/255)) + LegoColours.__overwriteColour(135, (171/255, 173/255, 172/255)) + LegoColours.__overwriteColour(137, (106/255, 122/255, 150/255)) + LegoColours.__overwriteColour(142, (220/255, 188/255, 129/255)) + LegoColours.__overwriteColour(148, ( 62/255, 60/255, 57/255)) + LegoColours.__overwriteColour(151, ( 14/255, 94/255, 77/255)) + LegoColours.__overwriteColour(179, (160/255, 160/255, 160/255)) + LegoColours.__overwriteColour(183, (242/255, 243/255, 242/255)) + LegoColours.__overwriteColour(191, (248/255, 187/255, 61/255)) + LegoColours.__overwriteColour(212, (159/255, 195/255, 233/255)) + LegoColours.__overwriteColour(216, (143/255, 76/255, 42/255)) + LegoColours.__overwriteColour(226, (253/255, 234/255, 140/255)) + LegoColours.__overwriteColour(232, (125/255, 187/255, 221/255)) + LegoColours.__overwriteColour(256, ( 33/255, 33/255, 33/255)) + LegoColours.__overwriteColour(272, ( 32/255, 58/255, 86/255)) + LegoColours.__overwriteColour(273, ( 13/255, 105/255, 171/255)) + LegoColours.__overwriteColour(288, ( 39/255, 70/255, 44/255)) + LegoColours.__overwriteColour(294, (189/255, 198/255, 173/255)) + LegoColours.__overwriteColour(297, (170/255, 127/255, 46/255)) + LegoColours.__overwriteColour(308, ( 53/255, 33/255, 0/255)) + LegoColours.__overwriteColour(313, (171/255, 217/255, 255/255)) + LegoColours.__overwriteColour(320, (123/255, 46/255, 47/255)) + LegoColours.__overwriteColour(321, ( 70/255, 155/255, 195/255)) + LegoColours.__overwriteColour(322, (104/255, 195/255, 226/255)) + LegoColours.__overwriteColour(323, (211/255, 242/255, 234/255)) + LegoColours.__overwriteColour(324, (196/255, 0/255, 38/255)) + LegoColours.__overwriteColour(326, (226/255, 249/255, 154/255)) + LegoColours.__overwriteColour(330, (119/255, 119/255, 78/255)) + LegoColours.__overwriteColour(334, (187/255, 165/255, 61/255)) + LegoColours.__overwriteColour(335, (149/255, 121/255, 118/255)) + LegoColours.__overwriteColour(366, (209/255, 131/255, 4/255)) + LegoColours.__overwriteColour(373, (135/255, 124/255, 144/255)) + LegoColours.__overwriteColour(375, (193/255, 194/255, 193/255)) + LegoColours.__overwriteColour(378, (120/255, 144/255, 129/255)) + LegoColours.__overwriteColour(379, ( 94/255, 116/255, 140/255)) + LegoColours.__overwriteColour(383, (224/255, 224/255, 224/255)) + LegoColours.__overwriteColour(406, ( 0/255, 29/255, 104/255)) + LegoColours.__overwriteColour(449, (129/255, 0/255, 123/255)) + LegoColours.__overwriteColour(450, (203/255, 132/255, 66/255)) + LegoColours.__overwriteColour(462, (226/255, 155/255, 63/255)) + LegoColours.__overwriteColour(484, (160/255, 95/255, 52/255)) + LegoColours.__overwriteColour(490, (215/255, 240/255, 0/255)) + LegoColours.__overwriteColour(493, (101/255, 103/255, 97/255)) + LegoColours.__overwriteColour(494, (208/255, 208/255, 208/255)) + LegoColours.__overwriteColour(496, (163/255, 162/255, 164/255)) + LegoColours.__overwriteColour(503, (199/255, 193/255, 183/255)) + LegoColours.__overwriteColour(504, (137/255, 135/255, 136/255)) + LegoColours.__overwriteColour(511, (250/255, 250/255, 250/255)) + + def lightenRGBA(colour, scale): + # Moves the linear RGB values closer to white + # scale = 0 means full white + # scale = 1 means color stays same + colour = ((1.0 - colour[0]) * scale, + (1.0 - colour[1]) * scale, + (1.0 - colour[2]) * scale, + colour[3]) + return (Math.clamp01(1.0 - colour[0]), + Math.clamp01(1.0 - colour[1]), + Math.clamp01(1.0 - colour[2]), + colour[3]) + + def isFluorescentTransparent(colName): + if (colName == "Trans_Neon_Orange"): + return True + if (colName == "Trans_Neon_Green"): + return True + if (colName == "Trans_Neon_Yellow"): + return True + if (colName == "Trans_Bright_Green"): + return True + return False + + def __init__(self): + LegoColours.__readColourTable() + + +# ************************************************************************************** +# ************************************************************************************** +class FileSystem: + """ + Reads text files in different encodings. Locates full filepath for a part. + """ + + # Takes a case-insensitive filepath and constructs a case sensitive version (based on an actual existing file) + # See https://stackoverflow.com/questions/8462449/python-case-insensitive-file-name/8462613#8462613 + def pathInsensitive(path): + """ + Get a case-insensitive path for use on a case sensitive system. + + >>> path_insensitive('/Home') + '/home' + >>> path_insensitive('/Home/chris') + '/home/chris' + >>> path_insensitive('/HoME/CHris/') + '/home/chris/' + >>> path_insensitive('/home/CHRIS') + '/home/chris' + >>> path_insensitive('/Home/CHRIS/.gtk-bookmarks') + '/home/chris/.gtk-bookmarks' + >>> path_insensitive('/home/chris/.GTK-bookmarks') + '/home/chris/.gtk-bookmarks' + >>> path_insensitive('/HOME/Chris/.GTK-bookmarks') + '/home/chris/.gtk-bookmarks' + >>> path_insensitive("/HOME/Chris/I HOPE this doesn't exist") + "/HOME/Chris/I HOPE this doesn't exist" + """ + + return FileSystem.__pathInsensitive(path) or path + + def __pathInsensitive(path): + """ + Recursive part of path_insensitive to do the work. + """ + + if path == '' or os.path.exists(path): + return path + + base = os.path.basename(path) # may be a directory or a file + dirname = os.path.dirname(path) + + suffix = '' + if not base: # dir ends with a slash? + if len(dirname) < len(path): + suffix = path[:len(path) - len(dirname)] + + base = os.path.basename(dirname) + dirname = os.path.dirname(dirname) + + if not os.path.exists(dirname): + debug_dirname = dirname + dirname = FileSystem.__pathInsensitive(dirname) + if not dirname: + return + + # at this point, the directory exists but not the file + + try: # we are expecting dirname to be a directory, but it could be a file + files = CachedDirectoryFilenames.getCached(dirname) + if files is None: + files = os.listdir(dirname) + CachedDirectoryFilenames.addToCache(dirname, files) + except OSError: + return + + baselow = base.lower() + try: + basefinal = next(fl for fl in files if fl.lower() == baselow) + except StopIteration: + return + + if basefinal: + return os.path.join(dirname, basefinal) + suffix + else: + return + + def __checkEncoding(filepath): + """Check the encoding of a file for Endian encoding.""" + + filepath = FileSystem.pathInsensitive(filepath) + + # Open it, read just the area containing a possible byte mark + with open(filepath, "rb") as encode_check: + encoding = encode_check.readline(3) + + # The file uses UCS-2 (UTF-16) Big Endian encoding + if encoding == b"\xfe\xff\x00": + return "utf_16_be" + + # The file uses UCS-2 (UTF-16) Little Endian + elif encoding == b"\xff\xfe0": + return "utf_16_le" + + # Use LDraw model standard UTF-8 + else: + return "utf_8" + + def readTextFile(filepath): + """Read a text file, with various checks for type of encoding""" + + filepath = FileSystem.pathInsensitive(filepath) + + lines = None + if os.path.exists(filepath): + # Try to read using the suspected encoding + file_encoding = FileSystem.__checkEncoding(filepath) + try: + with open(filepath, "rt", encoding=file_encoding) as f_in: + lines = f_in.readlines() + except: + # If all else fails, read using Latin 1 encoding + with open(filepath, "rt", encoding="latin_1") as f_in: + lines = f_in.readlines() + + return lines + + def locate(filename, rootPath = None): + """Given a file name of an ldraw file, find the full path""" + + partName = filename.replace("\\", os.path.sep) + partName = os.path.expanduser(partName) + + if rootPath is None: + rootPath = os.path.dirname(filename) + + allSearchPaths = Configure.searchPaths[:] + if rootPath not in allSearchPaths: + allSearchPaths.append(rootPath) + + for path in allSearchPaths: + fullPathName = os.path.join(path, partName) + fullPathName = FileSystem.pathInsensitive(fullPathName) + + if os.path.exists(fullPathName): + return fullPathName + + return None + + +# ************************************************************************************** +# ************************************************************************************** +class CachedDirectoryFilenames: + """Cached dictionary of directory filenames keyed by directory path""" + + __cache = {} # Dictionary + + def getCached(key): + if key in CachedDirectoryFilenames.__cache: + return CachedDirectoryFilenames.__cache[key] + return None + + def addToCache(key, value): + CachedDirectoryFilenames.__cache[key] = value + + def clearCache(): + CachedDirectoryFilenames.__cache = {} + + +# ************************************************************************************** +# ************************************************************************************** +class CachedFiles: + """Cached dictionary of LDrawFile objects keyed by filename""" + + __cache = {} # Dictionary of exact filenames as keys, and file contents as values + __lowercache = {} # Dictionary of lowercase filenames as keys, and file contents as values + + def getCached(key): + # Look for an exact match in the cache first + if key in CachedFiles.__cache: + return CachedFiles.__cache[key] + + # Look for a case-insensitive match next + if key.lower() in CachedFiles.__lowercache: + return CachedFiles.__lowercache[key.lower()] + return None + + def addToCache(key, value): + CachedFiles.__cache[key] = value + CachedFiles.__lowercache[key.lower()] = value + + def clearCache(): + CachedFiles.__cache = {} + CachedFiles.__lowercache = {} + + +# ************************************************************************************** +# ************************************************************************************** +class CachedGeometry: + """Cached dictionary of LDrawGeometry objects""" + + __cache = {} # Dictionary + + def getCached(key): + if key in CachedGeometry.__cache: + return CachedGeometry.__cache[key] + return None + + def addToCache(key, value): + CachedGeometry.__cache[key] = value + + def clearCache(): + CachedGeometry.__cache = {} + +# ************************************************************************************** +# ************************************************************************************** +class FaceInfo: + def __init__(self, faceColour, culling, windingCCW, isGrainySlopeAllowed): + self.faceColour = faceColour + self.culling = culling + self.windingCCW = windingCCW + self.isGrainySlopeAllowed = isGrainySlopeAllowed + + +# ************************************************************************************** +# ************************************************************************************** +class LDrawGeometry: + """Stores the geometry for an LDrawFile""" + + def __init__(self): + self.points = [] + self.faces = [] + self.faceInfo = [] + self.edges = [] + self.edgeIndices = [] + + def parseFace(self, parameters, cull, ccw, isGrainySlopeAllowed): + """Parse a face from parameters""" + + num_points = int(parameters[0]) + colourName = parameters[1] + + newPoints = [] + for i in range(num_points): + blenderPos = Math.scaleMatrix @ mathutils.Vector( (float(parameters[i * 3 + 2]), + float(parameters[i * 3 + 3]), + float(parameters[i * 3 + 4])) ) + newPoints.append(blenderPos) + + # Fix "bowtie" quadrilaterals (see http://wiki.ldraw.org/index.php?title=LDraw_technical_restrictions#Complex_quadrilaterals) + if num_points == 4: + nA = (newPoints[1] - newPoints[0]).cross(newPoints[2] - newPoints[0]) + nB = (newPoints[2] - newPoints[1]).cross(newPoints[3] - newPoints[1]) + nC = (newPoints[3] - newPoints[2]).cross(newPoints[0] - newPoints[2]) + if (nA.dot(nB) < 0): + newPoints[2], newPoints[3] = newPoints[3], newPoints[2] + elif (nB.dot(nC) < 0): + newPoints[2], newPoints[1] = newPoints[1], newPoints[2] + + pointCount = len(self.points) + newFace = list(range(pointCount, pointCount + num_points)) + self.points.extend(newPoints) + self.faces.append(newFace) + self.faceInfo.append(FaceInfo(colourName, cull, ccw, isGrainySlopeAllowed)) + + def parseEdge(self, parameters): + """Parse an edge from parameters""" + + colourName = parameters[1] + if colourName == "24": + blenderPos1 = Math.scaleMatrix @ mathutils.Vector( (float(parameters[2]), + float(parameters[3]), + float(parameters[4])) ) + blenderPos2 = Math.scaleMatrix @ mathutils.Vector( (float(parameters[5]), + float(parameters[6]), + float(parameters[7])) ) + self.edges.append((blenderPos1, blenderPos2)) + + def verify(self, face, numPoints): + for i in face: + assert i < numPoints + assert i >= 0 + + def appendGeometry(self, geometry, matrix, isStud, isStudLogo, parentMatrix, cull, invert): + combinedMatrix = parentMatrix @ matrix + isReflected = combinedMatrix.determinant() < 0.0 + reflectStudLogo = isStudLogo and isReflected + + fixedMatrix = matrix.copy() + if reflectStudLogo: + fixedMatrix = matrix @ Math.reflectionMatrix + invert = not invert + + # Append face information + pointCount = len(self.points) + newFaceInfo = [] + for index, face in enumerate(geometry.faces): + # Gather points for this face (and transform points) + newPoints = [] + for i in face: + newPoints.append(fixedMatrix @ geometry.points[i]) + + # Add clockwise and/or anticlockwise sets of points as appropriate + newFace = face.copy() + for i in range(len(newFace)): + newFace[i] += pointCount + + faceInfo = geometry.faceInfo[index] + faceCCW = faceInfo.windingCCW != invert + faceCull = faceInfo.culling and cull + + # If we are going to resolve ambiguous normals by "best guess" we will let + # Blender calculate that for us later. Just cull with arbitrary winding for now. + if not faceCull: + if Options.resolveAmbiguousNormals == "guess": + faceCull = True + + if faceCCW or not faceCull: + self.points.extend(newPoints) + self.faces.append(newFace) + + newFaceInfo.append(FaceInfo(faceInfo.faceColour, True, True, not isStud and faceInfo.isGrainySlopeAllowed)) + self.verify(newFace, len(self.points)) + + if not faceCull: + newFace = newFace.copy() + pointCount += len(newPoints) + for i in range(len(newFace)): + newFace[i] += len(newPoints) + + if not faceCCW or not faceCull: + self.points.extend(newPoints[::-1]) + self.faces.append(newFace) + + newFaceInfo.append(FaceInfo(faceInfo.faceColour, True, True, not isStud and faceInfo.isGrainySlopeAllowed)) + self.verify(newFace, len(self.points)) + + self.faceInfo.extend(newFaceInfo) + assert len(self.faces) == len(self.faceInfo) + + # Append edge information + newEdges = [] + for edge in geometry.edges: + newEdges.append( (fixedMatrix @ edge[0], fixedMatrix @ edge[1]) ) + self.edges.extend(newEdges) + + +# ************************************************************************************** +# ************************************************************************************** +class LDrawNode: + """A node in the hierarchy. References one LDrawFile""" + + def __init__(self, filename, isFullFilepath, parentFilepath, colourName=Options.defaultColour, matrix=Math.identityMatrix, bfcCull=True, bfcInverted=False, isLSynthPart=False, isSubPart=False, isRootNode=True, groupNames=[]): + self.filename = filename + self.isFullFilepath = isFullFilepath + self.parentFilepath = parentFilepath + self.matrix = matrix + self.colourName = colourName + self.bfcInverted = bfcInverted + self.bfcCull = bfcCull + self.file = None + self.isLSynthPart = isLSynthPart + self.isSubPart = isSubPart + self.isRootNode = isRootNode + self.groupNames = groupNames.copy() + + def look_at(obj_camera, target, up_vector): + bpy.context.view_layer.update() + + loc_camera = obj_camera.matrix_world.to_translation() + + #print("CamLoc = " + str(loc_camera[0]) + "," + str(loc_camera[1]) + "," + str(loc_camera[2])) + #print("TarLoc = " + str(target[0]) + "," + str(target[1]) + "," + str(target[2])) + #print("UpVec = " + str(up_vector[0]) + "," + str(up_vector[1]) + "," + str(up_vector[2])) + + # back vector is a vector pointing from the target to the camera + back = loc_camera - target; + back.normalize() + + # If our back and up vectors are very close to pointing the same way (or opposite), choose a different up_vector + if (abs(back.dot(up_vector)) > 0.9999): + up_vector=mathutils.Vector((0.0,0.0,1.0)) + if (abs(back.dot(up_vector)) > 0.9999): + up_vector=mathutils.Vector((1.0,0.0,0.0)) + + right = up_vector.cross(back) + right.normalize() + up = back.cross(right) + up.normalize() + + row1 = [ right.x, up.x, back.x, loc_camera.x ] + row2 = [ right.y, up.y, back.y, loc_camera.y ] + row3 = [ right.z, up.z, back.z, loc_camera.z ] + row4 = [ 0.0, 0.0, 0.0, 1.0 ] + + #bpy.ops.mesh.primitive_ico_sphere_add(location=loc_camera+up,size=0.1) + #bpy.ops.mesh.primitive_cylinder_add(location=loc_camera+back,radius = 0.1, depth=0.2) + #bpy.ops.mesh.primitive_cone_add(location=loc_camera+right,radius1=0.1, radius2=0, depth=0.2) + + obj_camera.matrix_world = mathutils.Matrix((row1, row2, row3, row4)) + #print(obj_camera.matrix_world) + + def isBlenderObjectNode(self): + """ + Calculates if this node should become a Blender object. + Some nodes will become objects in Blender, some will not. + Typically nodes that reference a model or a part become Blender Objects, but not nodes that reference subparts. + """ + + # The root node is always a Blender node + if self.isRootNode: + return True + + # General rule: We are a Blender object if we are a part or higher (ie. if we are not a subPart) + isBON = not self.isSubPart + + # Exception #1 - If flattening the hierarchy, we only want parts (not models) + if Options.flattenHierarchy: + isBON = self.file.isPart and not self.isSubPart + + # Exception #2 - We are not a Blender Object if we are an LSynth part (so that all LSynth parts become a single mesh) + if self.isLSynthPart: + isBON = False + + # Exception #3 - We are a Blender Object if we are a stud to be instanced + if Options.instanceStuds and self.file.isStud: + isBON = True + + return isBON + + def load(self): + # Is this file in the cache? + self.file = CachedFiles.getCached(self.filename) + if self.file is None: + # Not in cache, so load file + self.file = LDrawFile(self.filename, self.isFullFilepath, self.parentFilepath, None, self.isSubPart) + assert self.file is not None + + # Add the new file to the cache + CachedFiles.addToCache(self.filename, self.file) + + # Load any children + for child in self.file.childNodes: + child.load() + + def resolveColour(colourName, realColourName): + if colourName == "16": + return realColourName + return colourName + + def printBFC(self, depth=0): + # For debugging, displays BFC information + + debugPrint("{0}Node {1} has cull={2} and invert={3} det={4}".format(" "*(depth*4), self.filename, self.bfcCull, self.bfcInverted, self.matrix.determinant())) + for child in self.file.childNodes: + child.printBFC(depth + 1) + + def getBFCCode(accumCull, accumInvert, bfcCull, bfcInverted): + index = (8 if accumCull else 0) + (4 if accumInvert else 0) + (2 if bfcCull else 0) + (1 if bfcInverted else 0) + # Normally meshes are culled and not inverted, so don't bother with a code in this case + if index == 10: + return "" + # If this is out of the ordinary, add a code that makes it a unique name to cache the mesh properly + return "_{0}".format(index) + + def getBlenderGeometry(self, realColourName, basename, parentMatrix=Math.identityMatrix, accumCull=True, accumInvert=False): + """ + Returns the geometry for the Blender Object at this node. + + It accumulates the geometry of itself with all the geometry of it's children + recursively (specifically - those children that are not Blender Object nodes). + + The result will become a single mesh in Blender. + """ + + assert self.file is not None + + accumCull = accumCull and self.bfcCull + accumInvert = accumInvert != self.bfcInverted + + ourColourName = LDrawNode.resolveColour(self.colourName, realColourName) + code = LDrawNode.getBFCCode(accumCull, accumInvert, self.bfcCull, self.bfcInverted) + meshName = "Mesh_{0}_{1}{2}".format(basename, ourColourName, code) + key = (self.filename, ourColourName, accumCull, accumInvert, self.bfcCull, self.bfcInverted) + bakedGeometry = CachedGeometry.getCached(key) + if bakedGeometry is None: + combinedMatrix = parentMatrix @ self.matrix + + # Start with a copy of our file's geometry + assert len(self.file.geometry.faces) == len(self.file.geometry.faceInfo) + bakedGeometry = LDrawGeometry() + bakedGeometry.appendGeometry(self.file.geometry, Math.identityMatrix, self.file.isStud, self.file.isStudLogo, combinedMatrix, self.bfcCull, self.bfcInverted) + + # Replaces the default colour 16 in our faceColours list with a specific colour + for faceInfo in bakedGeometry.faceInfo: + faceInfo.faceColour = LDrawNode.resolveColour(faceInfo.faceColour, ourColourName) + + # Append each child's geometry + for child in self.file.childNodes: + assert child.file is not None + if not child.isBlenderObjectNode(): + childColourName = LDrawNode.resolveColour(child.colourName, ourColourName) + childMeshName, bg = child.getBlenderGeometry(childColourName, basename, combinedMatrix, accumCull, accumInvert) + + isStud = child.file.isStud + isStudLogo = child.file.isStudLogo + bakedGeometry.appendGeometry(bg, child.matrix, isStud, isStudLogo, combinedMatrix, self.bfcCull, self.bfcInverted) + + CachedGeometry.addToCache(key, bakedGeometry) + assert len(bakedGeometry.faces) == len(bakedGeometry.faceInfo) + return (meshName, bakedGeometry) + + +# ************************************************************************************** +# ************************************************************************************** +class LDrawCamera: + """Data about a camera""" + + def __init__(self): + self.vert_fov_degrees = 30.0 + self.near = 0.01 + self.far = 100.0 + self.position = mathutils.Vector((0.0, 0.0, 0.0)) + self.target_position = mathutils.Vector((1.0, 0.0, 0.0)) + self.up_vector = mathutils.Vector((0.0, 1.0, 0.0)) + self.name = "Camera" + self.orthographic = False + self.hidden = False + + def createCameraNode(self): + camData = bpy.data.cameras.new(self.name) + camera = bpy.data.objects.new(self.name, camData) + + # Add to scene + camera.location = self.position + camera.data.sensor_fit = 'VERTICAL' + camera.data.angle = self.vert_fov_degrees * 3.1415926 / 180.0 + camera.data.clip_end = self.far + camera.data.clip_start = self.near + camera.hide_set(self.hidden) + self.hidden = False + + if self.orthographic: + dist_target_to_camera = (self.position - self.target_position).length + camera.data.ortho_scale = dist_target_to_camera / 1.92 + camera.data.type = 'ORTHO' + self.orthographic = False + else: + camera.data.type = 'PERSP' + + linkToScene(camera) + LDrawNode.look_at(camera, self.target_position, self.up_vector) + return camera + + +# ************************************************************************************** +# ************************************************************************************** +class LDrawFile: + """Stores the contents of a single LDraw file. + Specifically this represents an IO, LDR, L3B, DAT or one '0 FILE' section of an MPD. + Splits up an MPD file into '0 FILE' sections and caches them.""" + + def __loadLegoFile(self, filepath, isFullFilepath, parentFilepath): + # Resolve full filepath if necessary + if isFullFilepath is False: + if parentFilepath == "": + parentDir = os.path.dirname(filepath) + else: + parentDir = os.path.dirname(parentFilepath) + result = FileSystem.locate(filepath, parentDir) + if result is None: + printWarningOnce("Missing file {0}".format(filepath)) + return False + filepath = result + + if os.path.splitext(filepath)[1] == ".io": + # Check if the file is encrypted (password protected) + is_encrypted = False + zf = zipfile.ZipFile(filepath) + for zinfo in zf.infolist(): + is_encrypted |= zinfo.flag_bits & 0x1 + if is_encrypted: + ShowMessageBox("Oops, this .io file is password protected", "Password protected files are not supported", 'ERROR') + return False + + # Get a temporary directory. Store the TemporaryDirectory object in Configure so it's scope lasts long enough + Configure.tempDir = tempfile.TemporaryDirectory() + directory_to_extract_to = Configure.tempDir.name + + # Decompress to temporary directory + with zipfile.ZipFile(filepath, 'r') as zip_ref: + zip_ref.extractall(directory_to_extract_to) + + # It's the 'model.ldr' file we want to use + filepath = os.path.join(directory_to_extract_to, "model.ldr") + + # Add the subdirectories of the directory to the search paths + Configure.appendPath(os.path.join(directory_to_extract_to, "CustomParts")) + Configure.appendPath(os.path.join(directory_to_extract_to, "CustomParts", "parts")) + + if Options.resolution == "High": + Configure.appendPath(os.path.join(directory_to_extract_to, "CustomParts", "p", "48")) + elif Options.resolution == "Low": + Configure.appendPath(os.path.join(directory_to_extract_to, "CustomParts", "p", "8")) + Configure.appendPath(os.path.join(directory_to_extract_to, "CustomParts", "p")) + Configure.appendPath(os.path.join(directory_to_extract_to, "CustomParts", "s")) + Configure.appendPath(os.path.join(directory_to_extract_to, "CustomParts", "s", "s")) + + self.fullFilepath = filepath + + # Load text into local lines variable + lines = FileSystem.readTextFile(filepath) + if lines is None: + printWarningOnce("Could not read file {0}".format(filepath)) + lines = [] + + # MPD files have separate sections between '0 FILE' and '0 NOFILE' lines. + # Split into sections between "0 FILE" and "0 NOFILE" lines + sections = [] + + startLine = 0 + endLine = 0 + lineCount = 0 + sectionFilename = filepath + foundEnd = False + + for line in lines: + parameters = line.strip().split() + if len(parameters) > 2: + if parameters[0] == "0" and parameters[1] == "FILE": + if foundEnd == False: + endLine = lineCount + if endLine > startLine: + sections.append((sectionFilename, lines[startLine:endLine])) + + startLine = lineCount + foundEnd = False + sectionFilename = " ".join(parameters[2:]) + + if parameters[0] == "0" and parameters[1] == "NOFILE": + endLine = lineCount + foundEnd = True + sections.append((sectionFilename, lines[startLine:endLine])) + lineCount += 1 + + if foundEnd == False: + endLine = lineCount + if endLine > startLine: + sections.append((sectionFilename, lines[startLine:endLine])) + + if len(sections) == 0: + return False + + # First section is the main one + self.filename = sections[0][0] + self.lines = sections[0][1] + + # Remaining sections are loaded into the cached files + for (sectionFilename, lines) in sections[1:]: + # Load section + file = LDrawFile(sectionFilename, False, filepath, lines, False) + assert file is not None + + # Cache section + CachedFiles.addToCache(sectionFilename, file) + + return True + + def __isStud(filename): + """Is this file a stud?""" + + if LDrawFile.__isStudLogo(filename): + return True + + # Extract just the filename, in lower case + filename = filename.replace("\\", os.path.sep) + name = os.path.basename(filename).lower() + + return name in ( + "stud2.dat", + "stud6.dat", + "stud6a.dat", + "stud7.dat", + "stud10.dat", + "stud13.dat", + "stud15.dat", + "stud20.dat", + "studa.dat", + "teton.dat", # TENTE + "stud-logo3.dat", "stud-logo4.dat", "stud-logo5.dat", + "stud2-logo3.dat", "stud2-logo4.dat", "stud2-logo5.dat", + "stud6-logo3.dat", "stud6-logo4.dat", "stud6-logo5.dat", + "stud6a-logo3.dat", "stud6a-logo4.dat", "stud6a-logo5.dat", + "stud7-logo3.dat", "stud7-logo4.dat", "stud7-logo5.dat", + "stud10-logo3.dat", "stud10-logo4.dat", "stud10-logo5.dat", + "stud13-logo3.dat", "stud13-logo4.dat", "stud13-logo5.dat", + "stud15-logo3.dat", "stud15-logo4.dat", "stud15-logo5.dat", + "stud20-logo3.dat", "stud20-logo4.dat", "stud20-logo5.dat", + "studa-logo3.dat", "studa-logo4.dat", "studa-logo5.dat", + "studtente-logo.dat" # TENTE + ) + + def __isStudLogo(filename): + """Is this file a stud logo?""" + + # Extract just the filename, in lower case + filename = filename.replace("\\", os.path.sep) + name = os.path.basename(filename).lower() + + return name in ("logo3.dat", "logo4.dat", "logo5.dat", "logotente.dat") + + def __init__(self, filename, isFullFilepath, parentFilepath, lines = None, isSubPart=False): + """Loads an LDraw file (IO, LDR, L3B, DAT or MPD)""" + + global globalCamerasToAdd + global globalScaleFactor + + self.filename = filename + self.lines = lines + self.isPart = False + self.isSubPart = isSubPart + self.isStud = LDrawFile.__isStud(filename) + self.isStudLogo = LDrawFile.__isStudLogo(filename) + self.isLSynthPart = False + self.isDoubleSided = False + self.geometry = LDrawGeometry() + self.childNodes = [] + self.bfcCertified = None + self.isModel = False + + isGrainySlopeAllowed = not self.isStud + + if self.lines is None: + # Load the file into self.lines + if not self.__loadLegoFile(self.filename, isFullFilepath, parentFilepath): + return + else: + # We are loading a section of our parent document, so full filepath is that of the parent + self.fullFilepath = parentFilepath + + # BFC = Back face culling. The rules are arcane and complex, but at least + # it's kind of documented: http://www.ldraw.org/article/415.html + bfcLocalCull = True + bfcWindingCCW = True + bfcInvertNext = False + processingLSynthParts = False + camera = LDrawCamera() + + currentGroupNames = [] + + #debugPrint("Processing file {0}, isSubPart = {1}, found {2} lines".format(self.filename, self.isSubPart, len(self.lines))) + + for line in self.lines: + parameters = line.strip().split() + + # Skip empty lines + if len(parameters) == 0: + continue + + # Pad with empty values to simplify parsing code + while len(parameters) < 9: + parameters.append("") + + # Parse LDraw comments (some of which have special significance) + if parameters[0] == "0": + if parameters[1] == "!LDRAW_ORG": + partType = parameters[2].lower() + if 'part' in partType: + self.isPart = True + if 'subpart' in partType: + self.isSubPart = True + if 'primitive' in partType: + self.isSubPart = True + #if 'shortcut' in partType: + # self.isPart = True + + if parameters[1] == "BFC": + # If unsure about being certified yet... + if self.bfcCertified is None: + if parameters[2] == "NOCERTIFY": + self.bfcCertified = False + else: + self.bfcCertified = True + if "CW" in parameters: + bfcWindingCCW = False + if "CCW" in parameters: + bfcWindingCCW = True + if "CLIP" in parameters: + bfcLocalCull = True + if "NOCLIP" in parameters: + bfcLocalCull = False + if "INVERTNEXT" in parameters: + bfcInvertNext = True + if parameters[1] == "SYNTH": + if parameters[2] == "SYNTHESIZED": + if parameters[3] == "BEGIN": + processingLSynthParts = True + if parameters[3] == "END": + processingLSynthParts = False + if parameters[1] == "!LDCAD": + if parameters[2] == "GENERATED": + processingLSynthParts = True + if parameters[1] == "!LEOCAD": + if parameters[2] == "GROUP": + if parameters[3] == "BEGIN": + currentGroupNames.append(" ".join(parameters[4:])) + elif parameters[3] == "END": + currentGroupNames.pop(-1) + if parameters[2] == "CAMERA": + if Options.importCameras: + parameters = parameters[3:] + while( len(parameters) > 0): + if parameters[0] == "FOV": + camera.vert_fov_degrees = float(parameters[1]) + parameters = parameters[2:] + elif parameters[0] == "ZNEAR": + camera.near = globalScaleFactor * float(parameters[1]) + parameters = parameters[2:] + elif parameters[0] == "ZFAR": + camera.far = globalScaleFactor * float(parameters[1]) + parameters = parameters[2:] + elif parameters[0] == "POSITION": + camera.position = Math.scaleMatrix @ mathutils.Vector((float(parameters[1]), float(parameters[2]), float(parameters[3]))) + parameters = parameters[4:] + elif parameters[0] == "TARGET_POSITION": + camera.target_position = Math.scaleMatrix @ mathutils.Vector((float(parameters[1]), float(parameters[2]), float(parameters[3]))) + parameters = parameters[4:] + elif parameters[0] == "UP_VECTOR": + camera.up_vector = mathutils.Vector((float(parameters[1]), float(parameters[2]), float(parameters[3]))) + parameters = parameters[4:] + elif parameters[0] == "ORTHOGRAPHIC": + camera.orthographic = True + parameters = parameters[1:] + elif parameters[0] == "HIDDEN": + camera.hidden = True + parameters = parameters[1:] + elif parameters[0] == "NAME": + camera.name = line.split(" NAME ",1)[1].strip() + + globalCamerasToAdd.append(camera) + camera = LDrawCamera() + + # By definition this is the last of the parameters + parameters = [] + else: + parameters = parameters[1:] + + + else: + if self.bfcCertified is None: + self.bfcCertified = False + + self.isModel = (not self.isPart) and (not self.isSubPart) + + # Parse a File reference + if parameters[0] == "1": + (x, y, z, a, b, c, d, e, f, g, h, i) = map(float, parameters[2:14]) + (x, y, z) = Math.scaleMatrix @ mathutils.Vector((x, y, z)) + localMatrix = mathutils.Matrix( ((a, b, c, x), (d, e, f, y), (g, h, i, z), (0, 0, 0, 1)) ) + + new_filename = " ".join(parameters[14:]) + new_colourName = parameters[1] + + det = localMatrix.determinant() + if det < 0: + bfcInvertNext = not bfcInvertNext + canCullChildNode = (self.bfcCertified or self.isModel) and bfcLocalCull and (det != 0) + + if new_filename != "": + newNode = LDrawNode(new_filename, False, self.fullFilepath, new_colourName, localMatrix, canCullChildNode, bfcInvertNext, processingLSynthParts, not self.isModel, False, currentGroupNames) + self.childNodes.append(newNode) + else: + printWarningOnce("In file '{0}', the line '{1}' is not formatted corectly (ignoring).".format(self.fullFilepath, line)) + + # Parse an edge + elif parameters[0] == "2": + self.geometry.parseEdge(parameters) + + # Parse a Face (either a triangle or a quadrilateral) + elif parameters[0] == "3" or parameters[0] == "4": + if self.bfcCertified is None: + self.bfcCertified = False + if not self.bfcCertified or not bfcLocalCull: + printWarningOnce("Found double-sided polygons in file {0}".format(self.filename)) + self.isDoubleSided = True + + assert len(self.geometry.faces) == len(self.geometry.faceInfo) + self.geometry.parseFace(parameters, self.bfcCertified and bfcLocalCull, bfcWindingCCW, isGrainySlopeAllowed) + assert len(self.geometry.faces) == len(self.geometry.faceInfo) + + bfcInvertNext = False + + #debugPrint("File {0} is part = {1}, is subPart = {2}, isModel = {3}".format(filename, self.isPart, isSubPart, self.isModel)) + + +# ************************************************************************************** +# ************************************************************************************** +class BlenderMaterials: + """Creates and stores a cache of materials for Blender""" + + __material_list = {} + if bpy.app.version >= (4, 0, 0): + __hasPrincipledShader = True + else: + __hasPrincipledShader = "ShaderNodeBsdfPrincipled" in [node.nodetype for node in getattr(bpy.types, "NODE_MT_category_SH_NEW_SHADER").category.items(None)] + + def __getGroupName(name): + if Options.instructionsLook: + return name + " Instructions" + return name + + def __createNodeBasedMaterial(blenderName, col, isSlopeMaterial=False): + """Set Cycles Material Values.""" + + # Reuse current material if it exists, otherwise create a new material + if bpy.data.materials.get(blenderName) is None: + material = bpy.data.materials.new(blenderName) + else: + material = bpy.data.materials[blenderName] + + # Use nodes + material.use_nodes = True + + if col is not None: + if len(col["colour"]) == 3: + colour = col["colour"] + (1.0,) + material.diffuse_color = getDiffuseColor(col["colour"][0:3]) + + if Options.instructionsLook: + material.blend_method = 'BLEND' + material.show_transparent_back = False + + if col is not None: + # Dark colours have white lines + if LegoColours.isDark(colour): + material.line_color = (1.0, 1.0, 1.0, 1.0) + + nodes = material.node_tree.nodes + links = material.node_tree.links + + # Remove any existing nodes + for n in nodes: + nodes.remove(n) + + if col is not None: + isTransparent = col["alpha"] < 1.0 + + if Options.instructionsLook: + BlenderMaterials.__createCyclesBasic(nodes, links, colour, col["alpha"], "") + elif col["name"] == "Milky_White": + BlenderMaterials.__createCyclesMilkyWhite(nodes, links, colour) + elif col["luminance"] > 0: + BlenderMaterials.__createCyclesEmission(nodes, links, colour, col["alpha"], col["luminance"]) + elif col["material"] == "CHROME": + BlenderMaterials.__createCyclesChrome(nodes, links, colour) + elif col["material"] == "PEARLESCENT": + BlenderMaterials.__createCyclesPearlescent(nodes, links, colour) + elif col["material"] == "METAL": + BlenderMaterials.__createCyclesMetal(nodes, links, colour) + elif col["material"] == "GLITTER": + BlenderMaterials.__createCyclesGlitter(nodes, links, colour, col["secondary_colour"]) + elif col["material"] == "SPECKLE": + BlenderMaterials.__createCyclesSpeckle(nodes, links, colour, col["secondary_colour"]) + elif col["material"] == "RUBBER": + BlenderMaterials.__createCyclesRubber(nodes, links, colour, col["alpha"]) + else: + BlenderMaterials.__createCyclesBasic(nodes, links, colour, col["alpha"], col["name"]) + + if isSlopeMaterial and not Options.instructionsLook: + BlenderMaterials.__createCyclesSlopeTexture(nodes, links, 0.6) + elif Options.curvedWalls and not Options.instructionsLook: + BlenderMaterials.__createCyclesConcaveWalls(nodes, links, 20 * globalScaleFactor) + + material["Lego.isTransparent"] = isTransparent + return material + + BlenderMaterials.__createCyclesBasic(nodes, links, (1.0, 1.0, 0.0, 1.0), 1.0, "") + material["Lego.isTransparent"] = False + return material + + def __nodeConcaveWalls(nodes, strength, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Concave Walls')] + node.location = x, y + node.inputs['Strength'].default_value = strength + return node + + def __nodeSlopeTexture(nodes, strength, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Slope Texture')] + node.location = x, y + node.inputs['Strength'].default_value = strength + return node + + def __nodeLegoStandard(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Standard')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeLegoTransparentFluorescent(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Transparent Fluorescent')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeLegoTransparent(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Transparent')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeLegoRubberSolid(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Rubber Solid')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeLegoRubberTranslucent(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Rubber Translucent')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeLegoEmission(nodes, colour, luminance, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Emission')] + node.location = x, y + node.inputs['Color'].default_value = colour + node.inputs['Luminance'].default_value = luminance + return node + + def __nodeLegoChrome(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Chrome')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeLegoPearlescent(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Pearlescent')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeLegoMetal(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Metal')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeLegoGlitter(nodes, colour, glitterColour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Glitter')] + node.location = x, y + node.inputs['Color'].default_value = colour + node.inputs['Glitter Color'].default_value = glitterColour + return node + + def __nodeLegoSpeckle(nodes, colour, speckleColour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Speckle')] + node.location = x, y + node.inputs['Color'].default_value = colour + node.inputs['Speckle Color'].default_value = speckleColour + return node + + def __nodeLegoMilkyWhite(nodes, colour, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups[BlenderMaterials.__getGroupName('Lego Milky White')] + node.location = x, y + node.inputs['Color'].default_value = colour + return node + + def __nodeMix(nodes, factor, x, y): + node = nodes.new('ShaderNodeMixShader') + node.location = x, y + node.inputs['Fac'].default_value = factor + return node + + def __nodeOutput(nodes, x, y): + node = nodes.new('ShaderNodeOutputMaterial') + node.location = x, y + return node + + def __nodeDielectric(nodes, roughness, reflection, transparency, ior, x, y): + node = nodes.new('ShaderNodeGroup') + node.node_tree = bpy.data.node_groups['PBR-Dielectric'] + node.location = x, y + node.inputs['Roughness'].default_value = roughness + node.inputs['Reflection'].default_value = reflection + node.inputs['Transparency'].default_value = transparency + node.inputs['IOR'].default_value = ior + return node + + def __nodePrincipled(nodes, subsurface, sub_rad, metallic, roughness, clearcoat, clearcoat_roughness, ior, transmission, x, y): + node = nodes.new('ShaderNodeBsdfPrincipled') + node.location = x, y + + # Some inputs are renamed in Blender 4 + if bpy.app.version >= (4, 0, 0): + node.inputs['Subsurface Weight'].default_value = subsurface + node.inputs['Coat Weight'].default_value = clearcoat + node.inputs['Coat Roughness'].default_value = clearcoat_roughness + node.inputs['Transmission Weight'].default_value = transmission + else: + # Blender 3.X or earlier + node.inputs['Subsurface'].default_value = subsurface + node.inputs['Clearcoat'].default_value = clearcoat + node.inputs['Clearcoat Roughness'].default_value = clearcoat_roughness + node.inputs['Transmission'].default_value = transmission + + node.inputs['Subsurface Radius'].default_value = mathutils.Vector( (sub_rad, sub_rad, sub_rad) ) + node.inputs['Metallic'].default_value = metallic + node.inputs['Roughness'].default_value = roughness + node.inputs['IOR'].default_value = ior + return node + + def __nodeHSV(nodes, h, s, v, x, y): + node = nodes.new('ShaderNodeHueSaturation') + node.location = x, y + node.inputs[0].default_value = h + node.inputs[1].default_value = s + node.inputs[2].default_value = v + return node + + def __nodeSeparateHSV(nodes, x, y): + node = nodes.new('ShaderNodeSeparateHSV') + node.location = x, y + return node + + def __nodeCombineHSV(nodes, x, y): + node = nodes.new('ShaderNodeCombineHSV') + node.location = x, y + return node + + def __nodeTexCoord(nodes, x, y): + node = nodes.new('ShaderNodeTexCoord') + node.location = x, y + return node + + def __nodeTexWave(nodes, wave_type, wave_profile, scale, distortion, detail, detailScale, x, y): + node = nodes.new('ShaderNodeTexWave') + node.wave_type = wave_type + node.wave_profile = wave_profile + node.inputs[1].default_value = scale + node.inputs[2].default_value = distortion + node.inputs[3].default_value = detail + node.inputs[4].default_value = detailScale + node.location = x, y + return node + + def __nodeDiffuse(nodes, roughness, x, y): + node = nodes.new('ShaderNodeBsdfDiffuse') + node.location = x, y + node.inputs['Color'].default_value = (1,1,1,1) + node.inputs['Roughness'].default_value = roughness + return node + + def __nodeGlass(nodes, roughness, ior, distribution, x, y): + node = nodes.new('ShaderNodeBsdfGlass') + node.location = x, y + node.distribution = distribution + node.inputs['Color'].default_value = (1,1,1,1) + node.inputs['Roughness'].default_value = roughness + node.inputs['IOR'].default_value = ior + return node + + def __nodeFresnel(nodes, ior, x, y): + node = nodes.new('ShaderNodeFresnel') + node.location = x, y + node.inputs['IOR'].default_value = ior + return node + + def __nodeGlossy(nodes, colour, roughness, distribution, x, y): + node = nodes.new('ShaderNodeBsdfGlossy') + node.location = x, y + node.distribution = distribution + node.inputs['Color'].default_value = colour + node.inputs['Roughness'].default_value = roughness + return node + + def __nodeTranslucent(nodes, x, y): + node = nodes.new('ShaderNodeBsdfTranslucent') + node.location = x, y + return node + + def __nodeTransparent(nodes, x, y): + node = nodes.new('ShaderNodeBsdfTransparent') + node.location = x, y + return node + + def __nodeAddShader(nodes, x, y): + node = nodes.new('ShaderNodeAddShader') + node.location = x, y + return node + + def __nodeVolume(nodes, density, x, y): + node = nodes.new('ShaderNodeVolumeAbsorption') + node.inputs['Density'].default_value = density + node.location = x, y + return node + + def __nodeLightPath(nodes, x, y): + node = nodes.new('ShaderNodeLightPath') + node.location = x, y + return node + + def __nodeMath(nodes, operation, x, y): + node = nodes.new('ShaderNodeMath') + node.operation = operation + node.location = x, y + return node + + def __nodeVectorMath(nodes, operation, x, y): + node = nodes.new('ShaderNodeVectorMath') + node.operation = operation + node.location = x, y + return node + + def __nodeEmission(nodes, x, y): + node = nodes.new('ShaderNodeEmission') + node.location = x, y + return node + + def __nodeVoronoi(nodes, scale, x, y): + node = nodes.new('ShaderNodeTexVoronoi') + node.location = x, y + node.inputs['Scale'].default_value = scale + return node + + def __nodeGamma(nodes, gamma, x, y): + node = nodes.new('ShaderNodeGamma') + node.location = x, y + node.inputs['Gamma'].default_value = gamma + return node + + def __nodeColorRamp(nodes, pos1, colour1, pos2, colour2, x, y): + node = nodes.new('ShaderNodeValToRGB') + node.location = x, y + node.color_ramp.elements[0].position = pos1 + node.color_ramp.elements[0].color = colour1 + node.color_ramp.elements[1].position = pos2 + node.color_ramp.elements[1].color = colour2 + return node + + def __nodeNoiseTexture(nodes, scale, detail, distortion, x, y): + node = nodes.new('ShaderNodeTexNoise') + node.location = x, y + node.inputs['Scale'].default_value = scale + node.inputs['Detail'].default_value = detail + node.inputs['Distortion'].default_value = distortion + return node + + def __nodeBumpShader(nodes, strength, distance, x, y): + node = nodes.new('ShaderNodeBump') + node.location = x, y + node.inputs[0].default_value = strength + node.inputs[1].default_value = distance + return node + + def __nodeRefraction(nodes, roughness, ior, x, y): + node = nodes.new('ShaderNodeBsdfRefraction') + node.inputs['Roughness'].default_value = roughness + node.inputs['IOR'].default_value = ior + node.location = x, y + return node + + def __getGroup(nodes): + out = None + for x in nodes: + if x.type == 'GROUP': + return x + return None + + def __createCyclesConcaveWalls(nodes, links, strength): + """Concave wall normals for Cycles render engine""" + node = BlenderMaterials.__nodeConcaveWalls(nodes, strength, -200, 5) + out = BlenderMaterials.__getGroup(nodes) + if out is not None: + links.new(node.outputs['Normal'], out.inputs['Normal']) + + def __createCyclesSlopeTexture(nodes, links, strength): + """Slope face normals for Cycles render engine""" + node = BlenderMaterials.__nodeSlopeTexture(nodes, strength, -200, 5) + out = BlenderMaterials.__getGroup(nodes) + if out is not None: + links.new(node.outputs['Normal'], out.inputs['Normal']) + + def __createCyclesBasic(nodes, links, diffColour, alpha, colName): + """Basic Material for Cycles render engine.""" + + if alpha < 1: + if LegoColours.isFluorescentTransparent(colName): + node = BlenderMaterials.__nodeLegoTransparentFluorescent(nodes, diffColour, 0, 5) + else: + node = BlenderMaterials.__nodeLegoTransparent(nodes, diffColour, 0, 5) + else: + node = BlenderMaterials.__nodeLegoStandard(nodes, diffColour, 0, 5) + + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + links.new(node.outputs['Shader'], out.inputs[0]) + + def __createCyclesEmission(nodes, links, diffColour, alpha, luminance): + """Emission material for Cycles render engine.""" + + node = BlenderMaterials.__nodeLegoEmission(nodes, diffColour, luminance/100.0, 0, 5) + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + links.new(node.outputs['Shader'], out.inputs[0]) + + def __createCyclesChrome(nodes, links, diffColour): + """Chrome material for Cycles render engine.""" + + node = BlenderMaterials.__nodeLegoChrome(nodes, diffColour, 0, 5) + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + links.new(node.outputs['Shader'], out.inputs[0]) + + def __createCyclesPearlescent(nodes, links, diffColour): + """Pearlescent material for Cycles render engine.""" + + node = BlenderMaterials.__nodeLegoPearlescent(nodes, diffColour, 0, 5) + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + links.new(node.outputs['Shader'], out.inputs[0]) + + def __createCyclesMetal(nodes, links, diffColour): + """Metal material for Cycles render engine.""" + + node = BlenderMaterials.__nodeLegoMetal(nodes, diffColour, 0, 5) + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + links.new(node.outputs['Shader'], out.inputs[0]) + + def __createCyclesGlitter(nodes, links, diffColour, glitterColour): + """Glitter material for Cycles render engine.""" + + glitterColour = LegoColours.lightenRGBA(glitterColour, 0.5) + node = BlenderMaterials.__nodeLegoGlitter(nodes, diffColour, glitterColour, 0, 5) + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + links.new(node.outputs['Shader'], out.inputs[0]) + + def __createCyclesSpeckle(nodes, links, diffColour, speckleColour): + """Speckle material for Cycles render engine.""" + + speckleColour = LegoColours.lightenRGBA(speckleColour, 0.5) + node = BlenderMaterials.__nodeLegoSpeckle(nodes, diffColour, speckleColour, 0, 5) + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + links.new(node.outputs['Shader'], out.inputs[0]) + + def __createCyclesRubber(nodes, links, diffColour, alpha): + """Rubber material colours for Cycles render engine.""" + + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + + if alpha < 1.0: + rubber = BlenderMaterials.__nodeLegoRubberTranslucent(nodes, diffColour, 0, 5) + else: + rubber = BlenderMaterials.__nodeLegoRubberSolid(nodes, diffColour, 0, 5) + + links.new(rubber.outputs[0], out.inputs[0]) + + def __createCyclesMilkyWhite(nodes, links, diffColour): + """Milky White material for Cycles render engine.""" + + node = BlenderMaterials.__nodeLegoMilkyWhite(nodes, diffColour, 0, 5) + out = BlenderMaterials.__nodeOutput(nodes, 200, 0) + links.new(node.outputs['Shader'], out.inputs[0]) + + def __is_int(s): + try: + int(s) + return True + except ValueError: + return False + + def __getColourData(colourName): + """Get the colour data associated with the colour name""" + + # Try the LDraw defined colours + if BlenderMaterials.__is_int(colourName): + colourInt = int(colourName) + if colourInt in LegoColours.colours: + return LegoColours.colours[colourInt] + + # Handle direct colours + # Direct colours are documented here: http://www.hassings.dk/l3/l3p.html + linearRGBA = LegoColours.hexStringToLinearRGBA(colourName) + if linearRGBA is None: + printWarningOnce("Could not decode {0} to a colour".format(colourName)) + return None + return { + "name": colourName, + "colour": linearRGBA[0:3], + "alpha": linearRGBA[3], + "luminance": 0.0, + "material": "BASIC" + } + + # ********************************************************************************** + def getMaterial(colourName, isSlopeMaterial): + pureColourName = colourName + if isSlopeMaterial: + colourName = colourName + "_s" + + # If it's already in the cache, use that + if (colourName in BlenderMaterials.__material_list): + result = BlenderMaterials.__material_list[colourName] + return result + + # Create a name for the material based on the colour + if Options.instructionsLook: + blenderName = "MatInst_{0}".format(colourName) + elif Options.curvedWalls and not isSlopeMaterial: + blenderName = "Material_{0}_c".format(colourName) + else: + blenderName = "Material_{0}".format(colourName) + + # If the name already exists in Blender, use that + if Options.overwriteExistingMaterials is False: + if blenderName in bpy.data.materials: + return bpy.data.materials[blenderName] + + # Create new material + col = BlenderMaterials.__getColourData(pureColourName) + material = BlenderMaterials.__createNodeBasedMaterial(blenderName, col, isSlopeMaterial) + + if material is None: + printWarningOnce("Could not create material for blenderName {0}".format(blenderName)) + + # Add material to cache + BlenderMaterials.__material_list[colourName] = material + return material + + # ********************************************************************************** + def clearCache(): + BlenderMaterials.__material_list = {} + + # ********************************************************************************** + def addInputSocket(group, my_socket_type, myname): + if bpy.app.version >= (4, 0, 0): + if my_socket_type.endswith("FloatFactor"): + my_socket_type = my_socket_type[:-6] + elif my_socket_type.endswith("VectorDirection"): + my_socket_type = my_socket_type[:-9] + group.interface.new_socket(name=myname, in_out="INPUT", socket_type=my_socket_type) + else: + if my_socket_type.endswith("Vector"): + my_socket_type += "Direction" + group.inputs.new(my_socket_type, myname) + + # ********************************************************************************** + def addOutputSocket(group, my_socket_type, myname): + if bpy.app.version >= (4, 0, 0): + if my_socket_type.endswith("FloatFactor"): + my_socket_type = my_socket_type[:-6] + elif my_socket_type.endswith("VectorDirection"): + my_socket_type = my_socket_type[:-9] + group.interface.new_socket(name=myname, in_out="OUTPUT", socket_type=my_socket_type) + else: + if my_socket_type.endswith("Vector"): + my_socket_type += "Direction" + group.outputs.new(my_socket_type, myname) + + # ********************************************************************************** + def setDefaults(group, name, default_value, min_value, max_value): + if bpy.app.version >= (4, 0, 0): + group_inputs = group.nodes["Group Input"].outputs + group_inputs[name].default_value = default_value + # TODO: How to set min_value and max_value? + else: + group_inputs = group.inputs + group_inputs[name].default_value = default_value + group_inputs[name].min_value = min_value + group_inputs[name].max_value = max_value + + # ********************************************************************************** + def __createGroup(name, x1, y1, x2, y2, createShaderOutput): + group = bpy.data.node_groups.new(name, 'ShaderNodeTree') + + # create input node + node_input = group.nodes.new('NodeGroupInput') + node_input.location = (x1,y1) + + # create output node + node_output = group.nodes.new('NodeGroupOutput') + node_output.location = (x2,y2) + if createShaderOutput: + BlenderMaterials.addOutputSocket(group, 'NodeSocketShader', 'Shader') + return (group, node_input, node_output) + + # ********************************************************************************** + def __createBlenderDistanceToCenterNodeGroup(): + if bpy.data.node_groups.get('Distance-To-Center') is None: + debugPrint("createBlenderDistanceToCenterNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup('Distance-To-Center', -930, 0, 240, 0, False) + BlenderMaterials.addOutputSocket(group, 'NodeSocketVectorDirection', 'Vector') + + # create nodes + node_texture_coordinate = BlenderMaterials.__nodeTexCoord(group.nodes, -730, 0) + + node_vector_subtraction1 = BlenderMaterials.__nodeVectorMath(group.nodes, 'SUBTRACT', -535, 0) + node_vector_subtraction1.inputs[1].default_value[0] = 0.5 + node_vector_subtraction1.inputs[1].default_value[1] = 0.5 + node_vector_subtraction1.inputs[1].default_value[2] = 0.5 + + node_normalize = BlenderMaterials.__nodeVectorMath(group.nodes, 'NORMALIZE', -535, -245) + node_dot_product = BlenderMaterials.__nodeVectorMath(group.nodes, 'DOT_PRODUCT', -340, -125) + + node_multiply = group.nodes.new('ShaderNodeMixRGB') + node_multiply.blend_type = 'MULTIPLY' + node_multiply.inputs['Fac'].default_value = 1.0 + node_multiply.location = -145, -125 + + node_vector_subtraction2 = BlenderMaterials.__nodeVectorMath(group.nodes, 'SUBTRACT', 40, 0) + + # link nodes together + group.links.new(node_texture_coordinate.outputs['Generated'], node_vector_subtraction1.inputs[0]) + group.links.new(node_texture_coordinate.outputs['Normal'], node_normalize.inputs[0]) + group.links.new(node_vector_subtraction1.outputs['Vector'], node_dot_product.inputs[0]) + group.links.new(node_normalize.outputs['Vector'], node_dot_product.inputs[1]) + group.links.new(node_dot_product.outputs['Value'], node_multiply.inputs['Color1']) + group.links.new(node_normalize.outputs['Vector'], node_multiply.inputs['Color2']) + group.links.new(node_vector_subtraction1.outputs['Vector'], node_vector_subtraction2.inputs[0]) + group.links.new(node_multiply.outputs['Color'], node_vector_subtraction2.inputs[1]) + group.links.new(node_vector_subtraction2.outputs['Vector'], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderVectorElementPowerNodeGroup(): + if bpy.data.node_groups.get('Vector-Element-Power') is None: + debugPrint("createBlenderVectorElementPowerNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup('Vector-Element-Power', -580, 0, 400, 0, False) + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat', 'Exponent') + BlenderMaterials.addInputSocket(group, 'NodeSocketVectorDirection', 'Vector') + BlenderMaterials.addOutputSocket(group, 'NodeSocketVectorDirection', 'Vector') + + # create nodes + node_separate_xyz = group.nodes.new('ShaderNodeSeparateXYZ') + node_separate_xyz.location = -385, -140 + + node_abs_x = BlenderMaterials.__nodeMath(group.nodes, 'ABSOLUTE', -180, 180) + node_abs_y = BlenderMaterials.__nodeMath(group.nodes, 'ABSOLUTE', -180, 0) + node_abs_z = BlenderMaterials.__nodeMath(group.nodes, 'ABSOLUTE', -180, -180) + + node_power_x = BlenderMaterials.__nodeMath(group.nodes, 'POWER', 20, 180) + node_power_y = BlenderMaterials.__nodeMath(group.nodes, 'POWER', 20, 0) + node_power_z = BlenderMaterials.__nodeMath(group.nodes, 'POWER', 20, -180) + + node_combine_xyz = group.nodes.new('ShaderNodeCombineXYZ') + node_combine_xyz.location = 215, 0 + + # link nodes together + group.links.new(node_input.outputs['Vector'], node_separate_xyz.inputs[0]) + group.links.new(node_separate_xyz.outputs['X'], node_abs_x.inputs[0]) + group.links.new(node_separate_xyz.outputs['Y'], node_abs_y.inputs[0]) + group.links.new(node_separate_xyz.outputs['Z'], node_abs_z.inputs[0]) + group.links.new(node_abs_x.outputs['Value'], node_power_x.inputs[0]) + group.links.new(node_input.outputs['Exponent'], node_power_x.inputs[1]) + group.links.new(node_abs_y.outputs['Value'], node_power_y.inputs[0]) + group.links.new(node_input.outputs['Exponent'], node_power_y.inputs[1]) + group.links.new(node_abs_z.outputs['Value'], node_power_z.inputs[0]) + group.links.new(node_input.outputs['Exponent'], node_power_z.inputs[1]) + group.links.new(node_power_x.outputs['Value'], node_combine_xyz.inputs['X']) + group.links.new(node_power_y.outputs['Value'], node_combine_xyz.inputs['Y']) + group.links.new(node_power_z.outputs['Value'], node_combine_xyz.inputs['Z']) + group.links.new(node_combine_xyz.outputs['Vector'], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderConvertToNormalsNodeGroup(): + if bpy.data.node_groups.get('Convert-To-Normals') is None: + debugPrint("createBlenderConvertToNormalsNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup('Convert-To-Normals', -490, 0, 400, 0, False) + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat', 'Vector Length') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat', 'Smoothing') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat', 'Strength') + BlenderMaterials.addInputSocket(group, 'NodeSocketVectorDirection', 'Normal') + BlenderMaterials.addOutputSocket(group, 'NodeSocketVectorDirection', 'Normal') + + # create nodes + node_power = BlenderMaterials.__nodeMath(group.nodes, 'POWER', -290, 150) + + node_colorramp = group.nodes.new('ShaderNodeValToRGB') + node_colorramp.color_ramp.color_mode = 'RGB' + node_colorramp.color_ramp.interpolation = 'EASE' + node_colorramp.color_ramp.elements[0].color = (1, 1, 1, 1) + node_colorramp.color_ramp.elements[1].color = (0, 0, 0, 1) + node_colorramp.color_ramp.elements[1].position = 0.45 + node_colorramp.location = -95, 150 + + node_bump = group.nodes.new('ShaderNodeBump') + node_bump.inputs['Distance'].default_value = 0.02 + node_bump.location = 200, 0 + + # link nodes together + group.links.new(node_input.outputs['Vector Length'], node_power.inputs[0]) + group.links.new(node_input.outputs['Smoothing'], node_power.inputs[1]) + group.links.new(node_power.outputs['Value'], node_colorramp.inputs[0]) + group.links.new(node_input.outputs['Strength'], node_bump.inputs['Strength']) + group.links.new(node_colorramp.outputs['Color'], node_bump.inputs['Height']) + group.links.new(node_input.outputs['Normal'], node_bump.inputs['Normal']) + group.links.new(node_bump.outputs['Normal'], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderConcaveWallsNodeGroup(): + if bpy.data.node_groups.get('Concave Walls') is None: + debugPrint("createBlenderConcaveWallsNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup('Concave Walls', -530, 0, 300, 0, False) + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat', 'Strength') + BlenderMaterials.addInputSocket(group, 'NodeSocketVectorDirection', 'Normal') + BlenderMaterials.addOutputSocket(group, 'NodeSocketVectorDirection', 'Normal') + + # create nodes + node_distance_to_center = group.nodes.new('ShaderNodeGroup') + node_distance_to_center.node_tree = bpy.data.node_groups['Distance-To-Center'] + node_distance_to_center.location = (-340,105) + + node_vector_elements_power = group.nodes.new('ShaderNodeGroup') + node_vector_elements_power.node_tree = bpy.data.node_groups['Vector-Element-Power'] + node_vector_elements_power.location = (-120,105) + node_vector_elements_power.inputs['Exponent'].default_value = 4.0 + + node_convert_to_normals = group.nodes.new('ShaderNodeGroup') + node_convert_to_normals.node_tree = bpy.data.node_groups['Convert-To-Normals'] + node_convert_to_normals.location = (90,0) + node_convert_to_normals.inputs['Strength'].default_value = 0.2 + node_convert_to_normals.inputs['Smoothing'].default_value = 0.3 + + # link nodes together + group.links.new(node_distance_to_center.outputs['Vector'], node_vector_elements_power.inputs['Vector']) + group.links.new(node_vector_elements_power.outputs['Vector'], node_convert_to_normals.inputs['Vector Length']) + group.links.new(node_input.outputs['Strength'], node_convert_to_normals.inputs['Strength']) + group.links.new(node_input.outputs['Normal'], node_convert_to_normals.inputs['Normal']) + group.links.new(node_convert_to_normals.outputs['Normal'], node_output.inputs['Normal']) + + # ********************************************************************************** + def __createBlenderSlopeTextureNodeGroup(): + global globalScaleFactor + + if bpy.data.node_groups.get('Slope Texture') is None: + debugPrint("createBlenderSlopeTextureNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup('Slope Texture', -530, 0, 300, 0, False) + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat', 'Strength') + BlenderMaterials.addInputSocket(group, 'NodeSocketVectorDirection', 'Normal') + BlenderMaterials.addOutputSocket(group, 'NodeSocketVectorDirection', 'Normal') + + # create nodes + node_texture_coordinate = BlenderMaterials.__nodeTexCoord(group.nodes, -300, 240) + node_voronoi = BlenderMaterials.__nodeVoronoi(group.nodes, 3.0/globalScaleFactor, -100, 155) + node_bump = BlenderMaterials.__nodeBumpShader(group.nodes, 0.3, 0.08, 90, 50) + node_bump.invert = True + + # link nodes together + group.links.new(node_texture_coordinate.outputs['Object'], node_voronoi.inputs['Vector']) + group.links.new(node_voronoi.outputs['Distance'], node_bump.inputs['Height']) + group.links.new(node_input.outputs['Strength'], node_bump.inputs['Strength']) + group.links.new(node_input.outputs['Normal'], node_bump.inputs['Normal']) + group.links.new(node_bump.outputs['Normal'], node_output.inputs['Normal']) + + # ********************************************************************************** + def __createBlenderFresnelNodeGroup(): + if bpy.data.node_groups.get('PBR-Fresnel-Roughness') is None: + debugPrint("createBlenderFresnelNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup('PBR-Fresnel-Roughness', -530, 0, 300, 0, False) + BlenderMaterials.addInputSocket(group, 'NodeSocketFloatFactor', 'Roughness') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat', 'IOR') + BlenderMaterials.addInputSocket(group, 'NodeSocketVectorDirection', 'Normal') + BlenderMaterials.addOutputSocket(group, 'NodeSocketFloatFactor', 'Fresnel Factor') + + # create nodes + node_fres = group.nodes.new('ShaderNodeFresnel') + node_fres.location = (110,0) + + node_mix = group.nodes.new('ShaderNodeMixRGB') + node_mix.location = (-80,-75) + + node_bump = group.nodes.new('ShaderNodeBump') + node_bump.location = (-320,-172) + # node_bump.hide = True + + node_geom = group.nodes.new('ShaderNodeNewGeometry') + node_geom.location = (-320,-360) + # node_geom.hide = True + + # link nodes together + group.links.new(node_input.outputs['Roughness'], node_mix.inputs['Fac']) # Input Roughness -> Mix Fac + group.links.new(node_input.outputs['IOR'], node_fres.inputs['IOR']) # Input IOR -> Fres IOR + group.links.new(node_input.outputs['Normal'], node_bump.inputs['Normal']) # Input Normal -> Bump Normal + group.links.new(node_bump.outputs['Normal'], node_mix.inputs['Color1']) # Bump Normal -> Mix Color1 + group.links.new(node_geom.outputs['Incoming'], node_mix.inputs['Color2']) # Geom Incoming -> Mix Colour2 + group.links.new(node_mix.outputs['Color'], node_fres.inputs['Normal']) # Mix Color -> Fres Normal + group.links.new(node_fres.outputs['Fac'], node_output.inputs['Fresnel Factor']) # Fres Fac -> Group Output Fresnel Factor + + # ********************************************************************************** + def __createBlenderReflectionNodeGroup(): + if bpy.data.node_groups.get('PBR-Reflection') is None: + debugPrint("createBlenderReflectionNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup('PBR-Reflection', -530, 0, 300, 0, True) + BlenderMaterials.addInputSocket(group, 'NodeSocketShader', 'Shader') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloatFactor', 'Roughness') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloatFactor', 'Reflection') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat', 'IOR') + BlenderMaterials.addInputSocket(group, 'NodeSocketVectorDirection', 'Normal') + + node_fresnel_roughness = group.nodes.new('ShaderNodeGroup') + node_fresnel_roughness.node_tree = bpy.data.node_groups['PBR-Fresnel-Roughness'] + node_fresnel_roughness.location = (-290,145) + + node_mixrgb = group.nodes.new('ShaderNodeMixRGB') + node_mixrgb.location = (-80,115) + node_mixrgb.inputs['Color2'].default_value = (0.0, 0.0, 0.0, 1.0) + + node_mix_shader = group.nodes.new('ShaderNodeMixShader') + node_mix_shader.location = (100,0) + + node_glossy = group.nodes.new('ShaderNodeBsdfGlossy') + node_glossy.inputs['Color'].default_value = (1.0, 1.0, 1.0, 1.0) + node_glossy.location = (-290,-95) + + # link nodes together + group.links.new(node_input.outputs['Shader'], node_mix_shader.inputs[1]) + group.links.new(node_input.outputs['Roughness'], node_fresnel_roughness.inputs['Roughness']) + group.links.new(node_input.outputs['Roughness'], node_glossy.inputs['Roughness']) + group.links.new(node_input.outputs['Reflection'], node_mixrgb.inputs['Color1']) + group.links.new(node_input.outputs['IOR'], node_fresnel_roughness.inputs['IOR']) + group.links.new(node_input.outputs['Normal'], node_fresnel_roughness.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_glossy.inputs['Normal']) + group.links.new(node_fresnel_roughness.outputs[0], node_mixrgb.inputs[0]) + group.links.new(node_mixrgb.outputs[0], node_mix_shader.inputs[0]) + group.links.new(node_glossy.outputs[0], node_mix_shader.inputs[2]) + group.links.new(node_mix_shader.outputs[0], node_output.inputs['Shader']) + + # ********************************************************************************** + def __createBlenderDielectricNodeGroup(): + if bpy.data.node_groups.get('PBR-Dielectric') is None: + debugPrint("createBlenderDielectricNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup('PBR-Dielectric', -530, 70, 500, 0, True) + BlenderMaterials.addInputSocket(group, 'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloatFactor','Roughness') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloatFactor','Reflection') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloatFactor','Transparency') + BlenderMaterials.addInputSocket(group, 'NodeSocketFloat','IOR') + BlenderMaterials.addInputSocket(group, 'NodeSocketVectorDirection','Normal') + + BlenderMaterials.setDefaults(group, 'IOR', 1.46, 0.0, 100.0) + BlenderMaterials.setDefaults(group, 'Roughness', 0.2, 0.0, 1.0) + BlenderMaterials.setDefaults(group, 'Reflection', 0.1, 0.0, 1.0) + BlenderMaterials.setDefaults(group, 'Transparency', 0.0, 0.0, 1.0) + + node_diffuse = group.nodes.new('ShaderNodeBsdfDiffuse') + node_diffuse.location = (-110,145) + + node_reflection = group.nodes.new('ShaderNodeGroup') + node_reflection.node_tree = bpy.data.node_groups['PBR-Reflection'] + node_reflection.location = (100,115) + + node_power = BlenderMaterials.__nodeMath(group.nodes, 'POWER', -330, -105) + node_power.inputs[1].default_value = 2.0 + + node_glass = group.nodes.new('ShaderNodeBsdfGlass') + node_glass.location = (100,-105) + + node_mix_shader = group.nodes.new('ShaderNodeMixShader') + node_mix_shader.location = (300,5) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_diffuse.inputs['Color']) + group.links.new(node_input.outputs['Roughness'], node_power.inputs[0]) + group.links.new(node_input.outputs['Reflection'], node_reflection.inputs['Reflection']) + group.links.new(node_input.outputs['IOR'], node_reflection.inputs['IOR']) + group.links.new(node_input.outputs['Normal'], node_diffuse.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_reflection.inputs['Normal']) + group.links.new(node_power.outputs[0], node_diffuse.inputs['Roughness']) + group.links.new(node_power.outputs[0], node_reflection.inputs['Roughness']) + group.links.new(node_diffuse.outputs[0], node_reflection.inputs['Shader']) + group.links.new(node_reflection.outputs['Shader'], node_mix_shader.inputs['Shader']) + group.links.new(node_input.outputs['Color'], node_glass.inputs['Color']) + group.links.new(node_input.outputs['IOR'], node_glass.inputs['IOR']) + group.links.new(node_input.outputs['Normal'], node_glass.inputs['Normal']) + group.links.new(node_power.outputs[0], node_glass.inputs['Roughness']) + group.links.new(node_input.outputs['Transparency'], node_mix_shader.inputs[0]) + group.links.new(node_glass.outputs[0], node_mix_shader.inputs[2]) + group.links.new(node_mix_shader.outputs['Shader'], node_output.inputs['Shader']) + + # ********************************************************************************** + def __getSubsurfaceColor(node): + if 'Subsurface Color' in node.inputs: + # Blender 3 + return node.inputs['Subsurface Color'] + + # Blender 4 - Subsurface Colour has been removed, so just use the base colour instead + return node.inputs['Base Color'] + + # ********************************************************************************** + def __createBlenderLegoStandardNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Standard') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoStandardNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -250, 0, 300, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if Options.instructionsLook: + node_emission = BlenderMaterials.__nodeEmission(group.nodes, 0, 0) + group.links.new(node_input.outputs['Color'], node_emission.inputs['Color']) + group.links.new(node_emission.outputs['Emission'], node_output.inputs['Shader']) + else: + if BlenderMaterials.usePrincipledShader: + node_main = BlenderMaterials.__nodePrincipled(group.nodes, 5 * globalScaleFactor, 0.05, 0.0, 0.1, 0.0, 0.0, 1.45, 0.0, 0, 0) + output_name = 'BSDF' + color_name = 'Base Color' + group.links.new(node_input.outputs['Color'], BlenderMaterials.__getSubsurfaceColor(node_main)) + else: + node_main = BlenderMaterials.__nodeDielectric(group.nodes, 0.2, 0.1, 0.0, 1.46, 0, 0) + output_name = 'Shader' + color_name = 'Color' + + # link nodes together + group.links.new(node_input.outputs['Color'], node_main.inputs[color_name]) + group.links.new(node_input.outputs['Normal'], node_main.inputs['Normal']) + group.links.new(node_main.outputs[output_name], node_output.inputs['Shader']) + + + # ********************************************************************************** + def __createBlenderLegoTransparentNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Transparent') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoTransparentNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -250, 0, 300, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if Options.instructionsLook: + node_emission = BlenderMaterials.__nodeEmission(group.nodes, 0, 0) + node_transparent = BlenderMaterials.__nodeTransparent(group.nodes, 0, 100) + node_mix1 = BlenderMaterials.__nodeMix(group.nodes, 0.5, 400, 100) + node_light = BlenderMaterials.__nodeLightPath(group.nodes, 200, 400) + node_less = BlenderMaterials.__nodeMath(group.nodes, 'LESS_THAN', 400, 400) + node_mix2 = BlenderMaterials.__nodeMix(group.nodes, 0.5, 600, 300) + + node_output.location = (800,0) + + group.links.new(node_input.outputs['Color'], node_emission.inputs['Color']) + group.links.new(node_transparent.outputs[0], node_mix1.inputs[1]) + group.links.new(node_emission.outputs['Emission'], node_mix1.inputs[2]) + group.links.new(node_transparent.outputs[0], node_mix2.inputs[1]) + group.links.new(node_mix1.outputs[0], node_mix2.inputs[2]) + group.links.new(node_light.outputs['Transparent Depth'], node_less.inputs[0]) + group.links.new(node_less.outputs[0], node_mix2.inputs['Fac']) + group.links.new(node_mix2.outputs[0], node_output.inputs['Shader']) + else: + if BlenderMaterials.usePrincipledShader: + node_principled = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 0.0, 0.05, 0.0, 0.0, 1.585, 1.0, 45, 340) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_principled.inputs['Base Color']) + group.links.new(node_input.outputs['Normal'], node_principled.inputs['Normal']) + group.links.new(node_principled.outputs['BSDF'], node_output.inputs['Shader']) + else: + node_main = BlenderMaterials.__nodeDielectric(group.nodes, 0.15, 0.1, 0.97, 1.46, 0, 0) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_main.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_main.inputs['Normal']) + group.links.new(node_main.outputs['Shader'], node_output.inputs['Shader']) + + + # ********************************************************************************** + def __createBlenderLegoTransparentFluorescentNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Transparent Fluorescent') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoTransparentFluorescentNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -250, 0, 300, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if Options.instructionsLook: + node_emission = BlenderMaterials.__nodeEmission(group.nodes, 0, 0) + node_transparent = BlenderMaterials.__nodeTransparent(group.nodes, 0, 100) + node_mix1 = BlenderMaterials.__nodeMix(group.nodes, 0.5, 400, 100) + node_light = BlenderMaterials.__nodeLightPath(group.nodes, 200, 400) + node_less = BlenderMaterials.__nodeMath(group.nodes, 'LESS_THAN', 400, 400) + node_mix2 = BlenderMaterials.__nodeMix(group.nodes, 0.5, 600, 300) + + node_output.location = (800,0) + + group.links.new(node_input.outputs['Color'], node_emission.inputs['Color']) + group.links.new(node_transparent.outputs[0], node_mix1.inputs[1]) + group.links.new(node_emission.outputs['Emission'], node_mix1.inputs[2]) + group.links.new(node_transparent.outputs[0], node_mix2.inputs[1]) + group.links.new(node_mix1.outputs[0], node_mix2.inputs[2]) + group.links.new(node_light.outputs['Transparent Depth'], node_less.inputs[0]) + group.links.new(node_less.outputs[0], node_mix2.inputs['Fac']) + group.links.new(node_mix2.outputs[0], node_output.inputs['Shader']) + else: + if BlenderMaterials.usePrincipledShader: + node_principled = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 0.0, 0.05, 0.0, 0.0, 1.585, 1.0, 45, 340) + node_emission = BlenderMaterials.__nodeEmission(group.nodes, 45, -160) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.03, 300, 290) + + node_output.location = 500, 290 + + # link nodes together + group.links.new(node_input.outputs['Color'], node_principled.inputs['Base Color']) + group.links.new(node_input.outputs['Color'], node_emission.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_principled.inputs['Normal']) + group.links.new(node_principled.outputs['BSDF'], node_mix.inputs[1]) + group.links.new(node_emission.outputs['Emission'], node_mix.inputs[2]) + group.links.new(node_mix.outputs[0], node_output.inputs['Shader']) + + else: + node_main = BlenderMaterials.__nodeDielectric(group.nodes, 0.15, 0.1, 0.97, 1.46, 0, 0) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_main.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_main.inputs['Normal']) + group.links.new(node_main.outputs['Shader'], node_output.inputs['Shader']) + + + # ********************************************************************************** + def __createBlenderLegoRubberNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Rubber Solid') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoRubberNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, 45-950, 340-50, 45+200, 340-5, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if BlenderMaterials.usePrincipledShader: + node_noise = BlenderMaterials.__nodeNoiseTexture(group.nodes, 250, 2, 0.0, 45-770, 340-200) + node_bump1 = BlenderMaterials.__nodeBumpShader(group.nodes, 1.0, 0.3, 45-366, 340-200) + node_bump2 = BlenderMaterials.__nodeBumpShader(group.nodes, 1.0, 0.1, 45-184, 340-115) + node_subtract = BlenderMaterials.__nodeMath(group.nodes, 'SUBTRACT', 45-570, 340-216) + node_principled = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 0.0, 0.4, 0.03, 0.0, 1.45, 0.0, 45, 340) + + node_subtract.inputs[1].default_value = 0.4 + + group.links.new(node_input.outputs['Color'], node_principled.inputs['Base Color']) + group.links.new(node_principled.outputs['BSDF'], node_output.inputs[0]) + group.links.new(node_noise.outputs['Color'], node_subtract.inputs[0]) + group.links.new(node_subtract.outputs[0], node_bump1.inputs['Height']) + group.links.new(node_bump1.outputs['Normal'], node_bump2.inputs['Normal']) + group.links.new(node_bump2.outputs['Normal'], node_principled.inputs['Normal']) + else: + node_dielectric = BlenderMaterials.__nodeDielectric(group.nodes, 0.5, 0.07, 0.0, 1.52, 0, 0) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_dielectric.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_dielectric.inputs['Normal']) + group.links.new(node_dielectric.outputs['Shader'], node_output.inputs['Shader']) + + + # ********************************************************************************** + def __createBlenderLegoRubberTranslucentNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Rubber Translucent') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoRubberTranslucentNodeGroup #create") + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -250, 0, 250, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if BlenderMaterials.usePrincipledShader: + node_noise = BlenderMaterials.__nodeNoiseTexture(group.nodes, 250, 2, 0.0, 45-770, 340-200) + node_bump1 = BlenderMaterials.__nodeBumpShader(group.nodes, 1.0, 0.3, 45-366, 340-200) + node_bump2 = BlenderMaterials.__nodeBumpShader(group.nodes, 1.0, 0.1, 45-184, 340-115) + node_subtract = BlenderMaterials.__nodeMath(group.nodes, 'SUBTRACT', 45-570, 340-216) + node_principled = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 0.0, 0.4, 0.03, 0.0, 1.45, 0.0, 45, 340) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.8, 300, 290) + node_refraction = BlenderMaterials.__nodeRefraction(group.nodes, 0.0, 1.45, 290-242, 154-330) + node_input.location = -320, 290 + node_output.location = 530, 285 + + node_subtract.inputs[1].default_value = 0.4 + + group.links.new(node_input.outputs['Normal'], node_refraction.inputs['Normal']) + group.links.new(node_refraction.outputs[0], node_mix.inputs[2]) + group.links.new(node_principled.outputs[0], node_mix.inputs[1]) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + group.links.new(node_input.outputs['Color'], node_principled.inputs['Base Color']) + group.links.new(node_noise.outputs['Color'], node_subtract.inputs[0]) + group.links.new(node_subtract.outputs[0], node_bump1.inputs['Height']) + group.links.new(node_bump1.outputs['Normal'], node_bump2.inputs['Normal']) + group.links.new(node_bump2.outputs['Normal'], node_principled.inputs['Normal']) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + else: + node_dielectric = BlenderMaterials.__nodeDielectric(group.nodes, 0.15, 0.1, 0.97, 1.46, 0, 0) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_dielectric.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_dielectric.inputs['Normal']) + group.links.new(node_dielectric.outputs['Shader'], node_output.inputs['Shader']) + + # ************************************************************************************** + def __createBlenderLegoEmissionNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Emission') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoEmissionNodeGroup #create") + + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -450, 90, 250, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketFloatFactor','Luminance') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + node_emit = BlenderMaterials.__nodeEmission(group.nodes, -242, -123) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.5, 0, 90) + + if BlenderMaterials.usePrincipledShader: + node_main = BlenderMaterials.__nodePrincipled(group.nodes, 1.0, 0.05, 0.0, 0.5, 0.0, 0.03, 1.45, 0.0, -242, 154+240) + group.links.new(node_input.outputs['Color'], BlenderMaterials.__getSubsurfaceColor(node_main)) + group.links.new(node_input.outputs['Color'], node_emit.inputs['Color']) + main_colour = 'Base Color' + else: + node_main = BlenderMaterials.__nodeTranslucent(group.nodes, -242, 154) + main_colour = 'Color' + + # link nodes together + group.links.new(node_input.outputs['Color'], node_main.inputs[main_colour]) + group.links.new(node_input.outputs['Normal'], node_main.inputs['Normal']) + group.links.new(node_input.outputs['Luminance'], node_mix.inputs[0]) + group.links.new(node_main.outputs[0], node_mix.inputs[1]) + group.links.new(node_emit.outputs[0], node_mix.inputs[2]) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderLegoChromeNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Chrome') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoChromeNodeGroup #create") + + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -450, 90, 250, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if BlenderMaterials.usePrincipledShader: + node_hsv = BlenderMaterials.__nodeHSV(group.nodes, 0.5, 0.9, 2.0, -90, 0) + node_principled = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 2.4, 0.0, 100, 0) + + node_output.location = (575, -140) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_hsv.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_principled.inputs['Normal']) + group.links.new(node_hsv.outputs['Color'], node_principled.inputs['Base Color']) + group.links.new(node_principled.outputs['BSDF'], node_output.inputs[0]) + else: + node_glossyOne = BlenderMaterials.__nodeGlossy(group.nodes, (1,1,1,1), 0.03, 'GGX', -242, 154) + node_glossyTwo = BlenderMaterials.__nodeGlossy(group.nodes, (1.0, 1.0, 1.0, 1.0), 0.03, 'BECKMANN', -242, -23) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.01, 0, 90) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_glossyOne.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_glossyOne.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_glossyTwo.inputs['Normal']) + group.links.new(node_glossyOne.outputs[0], node_mix.inputs[1]) + group.links.new(node_glossyTwo.outputs[0], node_mix.inputs[2]) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderLegoPearlescentNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Pearlescent') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoPearlescentNodeGroup #create") + + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -450, 90, 630, 95, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if BlenderMaterials.usePrincipledShader: + node_principled = BlenderMaterials.__nodePrincipled(group.nodes, 1.0, 0.25, 0.5, 0.2, 1.0, 0.2, 1.6, 0.0, 310, 95) + node_sep_hsv = BlenderMaterials.__nodeSeparateHSV(group.nodes, -240, 75) + node_multiply = BlenderMaterials.__nodeMath(group.nodes, 'MULTIPLY', -60, 0) + node_com_hsv = BlenderMaterials.__nodeCombineHSV(group.nodes, 110, 95) + node_tex_coord = BlenderMaterials.__nodeTexCoord(group.nodes, -730, -223) + node_tex_wave = BlenderMaterials.__nodeTexWave(group.nodes, 'BANDS', 'SIN', 0.5, 40, 1, 1.5, -520, -190) + node_color_ramp = BlenderMaterials.__nodeColorRamp(group.nodes, 0.329, (0.89, 0.89, 0.89, 1), 0.820, (1, 1, 1, 1), -340, -70) + element = node_color_ramp.color_ramp.elements.new(1.0) + element.color = (1.118, 1.118, 1.118, 1) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_sep_hsv.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_principled.inputs['Normal']) + group.links.new(node_sep_hsv.outputs['H'], node_com_hsv.inputs['H']) + group.links.new(node_sep_hsv.outputs['S'], node_com_hsv.inputs['S']) + group.links.new(node_sep_hsv.outputs['V'], node_multiply.inputs[0]) + group.links.new(node_com_hsv.outputs['Color'], node_principled.inputs['Base Color']) + group.links.new(node_com_hsv.outputs['Color'], BlenderMaterials.__getSubsurfaceColor(node_principled)) + group.links.new(node_tex_coord.outputs['Object'], node_tex_wave.inputs['Vector']) + group.links.new(node_tex_wave.outputs['Fac'], node_color_ramp.inputs['Fac']) + group.links.new(node_color_ramp.outputs['Color'], node_multiply.inputs[1]) + group.links.new(node_multiply.outputs[0], node_com_hsv.inputs['V']) + group.links.new(node_principled.outputs['BSDF'], node_output.inputs[0]) + else: + node_diffuse = BlenderMaterials.__nodeDiffuse(group.nodes, 0.0, -242, -23) + node_glossy = BlenderMaterials.__nodeGlossy(group.nodes, (1,1,1,1), 0.05, 'BECKMANN', -242, 154) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.4, 0, 90) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_diffuse.inputs['Color']) + group.links.new(node_input.outputs['Color'], node_glossy.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_diffuse.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_glossy.inputs['Normal']) + group.links.new(node_glossy.outputs[0], node_mix.inputs[1]) + group.links.new(node_diffuse.outputs[0], node_mix.inputs[2]) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderLegoMetalNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Metal') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoMetalNodeGroup #create") + + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -450, 90, 250, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if BlenderMaterials.usePrincipledShader: + node_principled = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 0.8, 0.2, 0.0, 0.03, 1.45, 0.0, 310, 95) + + group.links.new(node_input.outputs['Color'], node_principled.inputs['Base Color']) + group.links.new(node_input.outputs['Normal'], node_principled.inputs['Normal']) + group.links.new(node_principled.outputs[0], node_output.inputs['Shader']) + else: + node_dielectric = BlenderMaterials.__nodeDielectric(group.nodes, 0.05, 0.2, 0.0, 1.46, -242, 0) + node_glossy = BlenderMaterials.__nodeGlossy(group.nodes, (1,1,1,1), 0.2, 'BECKMANN', -242, 154) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.4, 0, 90) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_glossy.inputs['Color']) + group.links.new(node_input.outputs['Color'], node_dielectric.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_glossy.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_dielectric.inputs['Normal']) + group.links.new(node_glossy.outputs[0], node_mix.inputs[1]) + group.links.new(node_dielectric.outputs[0], node_mix.inputs[2]) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderLegoGlitterNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Glitter') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoGlitterNodeGroup #create") + + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -450, 0, 410, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Glitter Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if BlenderMaterials.usePrincipledShader: + node_voronoi = BlenderMaterials.__nodeVoronoi(group.nodes, 100, -222, 310) + node_gamma = BlenderMaterials.__nodeGamma(group.nodes, 50, 0, 200) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.05, 210, 90+25) + node_principled1 = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 0.0, 0.2, 0.0, 0.03, 1.585, 1.0, 45-270, 340-210) + node_principled2 = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 0.0, 0.5, 0.0, 0.03, 1.45, 0.0, 45-270, 340-750) + + group.links.new(node_input.outputs['Color'], node_principled1.inputs['Base Color']) + group.links.new(node_input.outputs['Glitter Color'], node_principled2.inputs['Base Color']) + group.links.new(node_input.outputs['Normal'], node_principled1.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_principled2.inputs['Normal']) + group.links.new(node_voronoi.outputs['Color'], node_gamma.inputs['Color']) + group.links.new(node_gamma.outputs[0], node_mix.inputs[0]) + group.links.new(node_principled1.outputs['BSDF'], node_mix.inputs[1]) + group.links.new(node_principled2.outputs['BSDF'], node_mix.inputs[2]) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + else: + node_glass = BlenderMaterials.__nodeGlass(group.nodes, 0.05, 1.46, 'BECKMANN', -242, 154) + node_glossy = BlenderMaterials.__nodeGlossy(group.nodes, (1,1,1,1), 0.05, 'BECKMANN', -242, -23) + node_diffuse = BlenderMaterials.__nodeDiffuse(group.nodes, 0.0, -12, -49) + node_voronoi = BlenderMaterials.__nodeVoronoi(group.nodes, 100, -232, 310) + node_gamma = BlenderMaterials.__nodeGamma(group.nodes, 50, 0, 200) + node_mixOne = BlenderMaterials.__nodeMix(group.nodes, 0.05, 0, 90) + node_mixTwo = BlenderMaterials.__nodeMix(group.nodes, 0.5, 200, 90) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_glass.inputs['Color']) + group.links.new(node_input.outputs['Glitter Color'], node_diffuse.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_glass.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_glossy.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_diffuse.inputs['Normal']) + group.links.new(node_glass.outputs[0], node_mixOne.inputs[1]) + group.links.new(node_glossy.outputs[0], node_mixOne.inputs[2]) + group.links.new(node_voronoi.outputs[0], node_gamma.inputs[0]) + group.links.new(node_gamma.outputs[0], node_mixTwo.inputs[0]) + group.links.new(node_mixOne.outputs[0], node_mixTwo.inputs[1]) + group.links.new(node_diffuse.outputs[0], node_mixTwo.inputs[2]) + group.links.new(node_mixTwo.outputs[0], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderLegoSpeckleNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Speckle') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoSpeckleNodeGroup #create") + + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -450, 0, 410, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Speckle Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if BlenderMaterials.usePrincipledShader: + node_voronoi = BlenderMaterials.__nodeVoronoi(group.nodes, 50, -222, 310) + node_gamma = BlenderMaterials.__nodeGamma(group.nodes, 3.5, 0, 200) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.05, 210, 90+25) + node_principled1 = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 0.0, 0.1, 0.0, 0.03, 1.45, 0.0, 45-270, 340-210) + node_principled2 = BlenderMaterials.__nodePrincipled(group.nodes, 0.0, 0.0, 1.0, 0.5, 0.0, 0.03, 1.45, 0.0, 45-270, 340-750) + + group.links.new(node_input.outputs['Color'], node_principled1.inputs['Base Color']) + group.links.new(node_input.outputs['Speckle Color'], node_principled2.inputs['Base Color']) + group.links.new(node_input.outputs['Normal'], node_principled1.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_principled2.inputs['Normal']) + group.links.new(node_voronoi.outputs['Color'], node_gamma.inputs['Color']) + group.links.new(node_gamma.outputs[0], node_mix.inputs[0]) + group.links.new(node_principled1.outputs['BSDF'], node_mix.inputs[1]) + group.links.new(node_principled2.outputs['BSDF'], node_mix.inputs[2]) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + else: + node_diffuseOne = BlenderMaterials.__nodeDiffuse(group.nodes, 0.0, -242, 131) + node_glossy = BlenderMaterials.__nodeGlossy(group.nodes, (0.333, 0.333, 0.333, 1.0), 0.2, 'BECKMANN', -242, -23) + node_diffuseTwo = BlenderMaterials.__nodeDiffuse(group.nodes, 0.0, -12, -49) + node_voronoi = BlenderMaterials.__nodeVoronoi(group.nodes, 100, -232, 310) + node_gamma = BlenderMaterials.__nodeGamma(group.nodes, 20, 0, 200) + node_mixOne = BlenderMaterials.__nodeMix(group.nodes, 0.2, 0, 90) + node_mixTwo = BlenderMaterials.__nodeMix(group.nodes, 0.5, 200, 90) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_diffuseOne.inputs['Color']) + group.links.new(node_input.outputs['Speckle Color'], node_diffuseTwo.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_diffuseOne.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_glossy.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_diffuseTwo.inputs['Normal']) + group.links.new(node_voronoi.outputs[0], node_gamma.inputs[0]) + group.links.new(node_diffuseOne.outputs[0], node_mixOne.inputs[1]) + group.links.new(node_glossy.outputs[0], node_mixOne.inputs[2]) + group.links.new(node_gamma.outputs[0], node_mixTwo.inputs[0]) + group.links.new(node_mixOne.outputs[0], node_mixTwo.inputs[1]) + group.links.new(node_diffuseTwo.outputs[0], node_mixTwo.inputs[2]) + group.links.new(node_mixTwo.outputs[0], node_output.inputs[0]) + + # ********************************************************************************** + def __createBlenderLegoMilkyWhiteNodeGroup(): + groupName = BlenderMaterials.__getGroupName('Lego Milky White') + if bpy.data.node_groups.get(groupName) is None: + debugPrint("createBlenderLegoMilkyWhiteNodeGroup #create") + + # create a group + group, node_input, node_output = BlenderMaterials.__createGroup(groupName, -450, 0, 350, 0, True) + BlenderMaterials.addInputSocket(group,'NodeSocketColor','Color') + BlenderMaterials.addInputSocket(group,'NodeSocketVectorDirection','Normal') + + if BlenderMaterials.usePrincipledShader: + node_principled = BlenderMaterials.__nodePrincipled(group.nodes, 1.0, 0.05, 0.0, 0.5, 0.0, 0.03, 1.45, 0.0, 45-270, 340-210) + node_translucent = BlenderMaterials.__nodeTranslucent(group.nodes, -225, -382) + node_mix = BlenderMaterials.__nodeMix(group.nodes, 0.5, 65, -40) + + group.links.new(node_input.outputs['Color'], node_principled.inputs['Base Color']) + group.links.new(node_input.outputs['Color'], BlenderMaterials.__getSubsurfaceColor(node_principled)) + group.links.new(node_input.outputs['Normal'], node_principled.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_translucent.inputs['Normal']) + group.links.new(node_principled.outputs[0], node_mix.inputs[1]) + group.links.new(node_translucent.outputs[0], node_mix.inputs[2]) + group.links.new(node_mix.outputs[0], node_output.inputs[0]) + else: + node_diffuse = BlenderMaterials.__nodeDiffuse(group.nodes, 0.0, -242, 90) + node_trans = BlenderMaterials.__nodeTranslucent(group.nodes, -242, -46) + node_glossy = BlenderMaterials.__nodeGlossy(group.nodes, (1,1,1,1), 0.5, 'BECKMANN', -42, -54) + node_mixOne = BlenderMaterials.__nodeMix(group.nodes, 0.4, -35, 90) + node_mixTwo = BlenderMaterials.__nodeMix(group.nodes, 0.2, 175, 90) + + # link nodes together + group.links.new(node_input.outputs['Color'], node_diffuse.inputs['Color']) + group.links.new(node_input.outputs['Color'], node_trans.inputs['Color']) + group.links.new(node_input.outputs['Color'], node_glossy.inputs['Color']) + group.links.new(node_input.outputs['Normal'], node_diffuse.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_trans.inputs['Normal']) + group.links.new(node_input.outputs['Normal'], node_glossy.inputs['Normal']) + group.links.new(node_diffuse.outputs[0], node_mixOne.inputs[1]) + group.links.new(node_trans.outputs[0], node_mixOne.inputs[2]) + group.links.new(node_mixOne.outputs[0], node_mixTwo.inputs[1]) + group.links.new(node_glossy.outputs[0], node_mixTwo.inputs[2]) + group.links.new(node_mixTwo.outputs[0], node_output.inputs[0]) + + # ********************************************************************************** + def createBlenderNodeGroups(): + BlenderMaterials.usePrincipledShader = BlenderMaterials.__hasPrincipledShader and Options.usePrincipledShaderWhenAvailable + + BlenderMaterials.__createBlenderDistanceToCenterNodeGroup() + BlenderMaterials.__createBlenderVectorElementPowerNodeGroup() + BlenderMaterials.__createBlenderConvertToNormalsNodeGroup() + BlenderMaterials.__createBlenderConcaveWallsNodeGroup() + BlenderMaterials.__createBlenderSlopeTextureNodeGroup() + + # Originally based on ideas from https://www.youtube.com/watch?v=V3wghbZ-Vh4 + # "Create your own PBR Material [Fixed!]" by BlenderGuru + # Updated with Principled Shader, if available + BlenderMaterials.__createBlenderFresnelNodeGroup() + BlenderMaterials.__createBlenderReflectionNodeGroup() + BlenderMaterials.__createBlenderDielectricNodeGroup() + + BlenderMaterials.__createBlenderLegoStandardNodeGroup() + BlenderMaterials.__createBlenderLegoTransparentNodeGroup() + BlenderMaterials.__createBlenderLegoTransparentFluorescentNodeGroup() + BlenderMaterials.__createBlenderLegoRubberNodeGroup() + BlenderMaterials.__createBlenderLegoRubberTranslucentNodeGroup() + BlenderMaterials.__createBlenderLegoEmissionNodeGroup() + BlenderMaterials.__createBlenderLegoChromeNodeGroup() + BlenderMaterials.__createBlenderLegoPearlescentNodeGroup() + BlenderMaterials.__createBlenderLegoMetalNodeGroup() + BlenderMaterials.__createBlenderLegoGlitterNodeGroup() + BlenderMaterials.__createBlenderLegoSpeckleNodeGroup() + BlenderMaterials.__createBlenderLegoMilkyWhiteNodeGroup() + + +# ************************************************************************************** +def addSharpEdges(bm, geometry, filename): + if geometry.edges: + global globalWeldDistance + epsilon = globalWeldDistance + + bm.faces.ensure_lookup_table() + bm.verts.ensure_lookup_table() + bm.edges.ensure_lookup_table() + + # Create kd tree for fast "find nearest points" calculation + kd = mathutils.kdtree.KDTree(len(bm.verts)) + for i, v in enumerate(bm.verts): + kd.insert(v.co, i) + kd.balance() + + # Create edgeIndices dictionary, which is the list of edges as pairs of indicies into our bm.verts array + edgeIndices = {} + for ind, geomEdge in enumerate(geometry.edges): + # Find index of nearest points in bm.verts to geomEdge[0] and geomEdge[1] + edges0 = [index for (co, index, dist) in kd.find_range(geomEdge[0], epsilon)] + edges1 = [index for (co, index, dist) in kd.find_range(geomEdge[1], epsilon)] + + #if (len(edges0) > 2): + # printWarningOnce("Found {1} vertices near {0} in file {2}".format(geomEdge[0], len(edges0), filename)) + #if (len(edges1) > 2): + # printWarningOnce("Found {1} vertices near {0} in file {2}".format(geomEdge[1], len(edges1), filename)) + + for e0 in edges0: + for e1 in edges1: + edgeIndices[(e0, e1)] = True + edgeIndices[(e1, e0)] = True + + # Find the appropriate mesh edges and make them sharp (i.e. not smooth) + for meshEdge in bm.edges: + v0 = meshEdge.verts[0].index + v1 = meshEdge.verts[1].index + if (v0, v1) in edgeIndices: + # Make edge sharp + meshEdge.smooth = False + + # Set bevel weights + if bpy.app.version < (4, 0, 0): + # Blender 3 + # Find layer for bevel weights + if 'BevelWeight' in bm.edges.layers.bevel_weight: + bwLayer = bm.edges.layers.bevel_weight['BevelWeight'] + elif '' in bm.edges.layers.bevel_weight: + bwLayer = bm.edges.layers.bevel_weight[''] + else: + bwLayer = None + + for meshEdge in bm.edges: + v0 = meshEdge.verts[0].index + v1 = meshEdge.verts[1].index + if (v0, v1) in edgeIndices: + # Add bevel weight + if bwLayer is not None: + meshEdge[bwLayer] = 1.0 + + return edgeIndices + +# Commented this next section out as it fails for certain pieces. + + # Look for any pair of colinear edges emanating from a single vertex, where each edge is connected to exactly one face. + # Subdivide the longer edge to include the shorter edge's vertex. + # Repeat until there's nothing left to subdivide. + # This helps create better (more manifold) geometry in general, and in particular solves issues with technic pieces with holes. +# verts = set(bm.verts) +# +# while(verts): +# v = verts.pop() +# edges = [e for e in v.link_edges if len(e.link_faces) == 1] +# for e1, e2 in itertools.combinations(edges, 2): +# +# # ensure e1 is always the longer edge +# if e1.calc_length() < e2.calc_length(): +# e1, e2 = e2, e1 +# +# v1 = e1.other_vert(v) +# v2 = e2.other_vert(v) +# vec1 = v1.co - v.co +# vec2 = v2.co - v.co +# +# # test for colinear +# if vec1.angle(vec2) < 0.02: +# old_face = e1.link_faces[0] +# new_verts = old_face.verts[:] +# +# e2.smooth &= e1.smooth +# if bwLayer is not None: +# e2[bwLayer] = max(e1[bwLayer], e2[bwLayer]) +# +# # insert the shorter edge's vertex +# i = new_verts.index(v) +# i1 = new_verts.index(v1) +# if i1 - i in [1, -1]: +# new_verts.insert(max(i,i1), v2) +# else: +# new_verts.insert(0, v2) +# +# # create a new face that includes the newly inserted vertex +# new_face = bm.faces.new(new_verts) +# +# # copy material to new face +# new_face.material_index = old_face.material_index +# +# # copy metadata to the new edge +# for e in v2.link_edges: +# if e.other_vert(v2) is v1: +# e.smooth &= e1.smooth +# if bwLayer is not None: +# e[bwLayer] = max(e1[bwLayer], e[bwLayer]) +# +# # delete the old edge +# deleteEdge(bm, [e1]) +# +# # re-check the vertices we modified +# verts.add(v) +# verts.add(v2) +# break + + bm.faces.ensure_lookup_table() + bm.verts.ensure_lookup_table() + bm.edges.ensure_lookup_table() + +# ************************************************************************************** +def meshIsReusable(meshName, geometry): + meshExists = meshName in bpy.data.meshes + #debugPrint("meshIsReusable says {0} exists = {1}.".format(meshName, meshExists)) + if meshExists and not Options.overwriteExistingMeshes: + mesh = bpy.data.meshes[meshName] + + #debugPrint("meshIsReusable testing") + # A mesh loses it's materials information when it is no longer in use. + # We must check the number of faces matches, otherwise we can't re-set the + # materials. + if mesh.users == 0 and (len(mesh.polygons) != len(geometry.faces)): + #debugPrint("meshIsReusable says no users and num faces changed.") + return False + + # If options have changed (e.g. scale) we should not reuse the same mesh. + if 'customMeshOptions' in mesh.keys(): + #debugPrint("meshIsReusable found custom options.") + #debugPrint("mesh['customMeshOptions'] = {0}".format(mesh['customMeshOptions'])) + #debugPrint("Options.meshOptionsString() = {0}".format(Options.meshOptionsString())) + if mesh['customMeshOptions'] == Options.meshOptionsString(): + #debugPrint("meshIsReusable found custom options - match OK.") + return True + #debugPrint("meshIsReusable found custom options - DON'T match.") + return False + +# ************************************************************************************** +def addNodeToParentWithGroups(parentObject, groupNames, newObject): + + if not Options.flattenGroups: + # Create groups as needed + for groupName in groupNames: + # The max length of a Blender node name appears to be 63 bytes when encoded as UTF-8. We make sure it fits. + while len(groupName.encode("utf8")) > 63: + groupName = groupName[:-1] + + # Check if we already have this node name, or if we need to create a new node + groupObj = None + for obj in bpy.data.objects: + if (obj.name == groupName): + groupObj = obj + if (groupObj is None): + groupObj = bpy.data.objects.new(groupName, None) + groupObj.parent = parentObject + globalObjectsToAdd.append(groupObj) + parentObject = groupObj + + newObject.parent = parentObject + globalObjectsToAdd.append(newObject) + + +# ************************************************************************************** +parent = None +attach_points = [] +children = [] +partsHierarchy = {} +macro_name = None +macros = {} + +# ************************************************************************************** +def parseParentsFile(file): + global parent + global attach_points + global children + global partsHierarchy + global macro_name + global macros + + # See https://stackoverflow.com/a/53870514 + number_pattern = "[+-]?((\d+(\.\d*)?)|(\.\d+))" + pattern = "(" + number_pattern + ")(.*)" + compiled = re.compile(pattern) + + def number_split(s): + match = compiled.match(s) + if match is None: + return None, s + groups = match.groups() + return groups[0], groups[-1].strip() + + parent = None + attach_points = [] + children = [] + partsHierarchy = {} + macro_name = None + macros = {} + + def finishParent(): + global parent + global attach_points + global children + global partsHierarchy + global macro_name + + if macro_name: + macros[macro_name] = children + # print("Adding macro ", macro_name) + parent = None + attach_points = [] + children = [] + macro_name = None + + if parent: + partsHierarchy[parent] = (attach_points, children) + parent = None + attach_points = [] + children = [] + macro_name = None + + with open(file) as f: + lines = f.readlines() # list containing lines of file + + line_number = 0 + for line in lines: + line_number += 1 + line = line.strip() # remove leading/trailing white spaces + line = line.split("#")[0] + if line: + line = line.strip() + original_line = line + if line.startswith("Group "): + # Found group definition + finishParent() + macro_name = line[6:].strip().strip(":") + # print("Found group definition ", macro_name) + continue + if line.startswith("Parent "): + # Found parent definition + finishParent() + parent = line[7:].strip().strip(":") + # print("Found parent definition ", parent) + continue + if line in macros: + # found instance of a macro + # add children to definition + children += macros[line] + continue + + # check for three floating point numbers of an attach point + number1, line = number_split(line) + if number1: + number3 = None + number2, line = number_split(line) + if number2: + number3, line = number_split(line) + if number3: + # Got three numbers for an attach point + try: + attachPoint = (float(number1), float(number2), float(number3)) + except: + attachPoint = None + if attachPoint: + # Attach point + attach_points.append(attachPoint) + continue + else: + debugPrint("ERROR: Bad attach point found on line %d" % (line_number,)) + partsHierarchy = None + return + + # child part number? + children.append(original_line) + + finishParent() + # print("Macros:") + # pprint(macros) + # print("End of Macros") + return + + +# ************************************************************************************** +def setupImplicitParents(): + global globalScaleFactor + + if not Options.minifigHierarchy: + return + + parseParentsFile(Options.scriptDirectory + '/parents.txt') + # print(partsHierarchy) + if not partsHierarchy: + return + + bpy.context.view_layer.update() + + # create a set of the parent parts and a set of child parts from the partsHierarchy + parentParts = set() + childParts = set() + for parent, childrenData in partsHierarchy.items(): + parentParts.add(parent) + childParts.update(childrenData[1]) + + # create a flat set of all interesting parts (parents and children together) + interestingParts = set() + interestingParts.update(parentParts) + interestingParts.update(childParts) + + # print('Parent parts: %s' % (parentParts,)) + # print('Child parts: %s' % (childParts,)) + # print('Interesting parts: %s' % (interestingParts,)) + + tolerance = globalScaleFactor * 5 # in LDraw units + squaredTolerance = tolerance * tolerance + # print(" Squared tolerance: %s" % (squaredTolerance,)) + + # For each interesting mesh in the scene, remember the bare part number and the children + parentMeshParts = {} # bare part numbers of the parents + childMeshParts = {} # bare part numbers of the children + parentableMeshes = {} # interesting children + lego_part_pattern = "([A-Za-z]?\d+)($|\D)" + + # for each object in the scene + for obj in bpy.data.objects: + if obj.type != 'MESH': + continue + + name = obj.data.name + if not name.startswith('Mesh_'): + continue + + # skip 'Mesh_' and get part of name that is just digits (possibly with a letter in front) + test_name = name[5:] + if " - " in test_name: + test_name = test_name.split(" - ",1)[1] + + partName = '' + m = re.match(lego_part_pattern, test_name) + if m: + partName = m.group(1) + + # For each interesting parent mesh in the scene, remember the bare part number and the children + if partName in parentParts: + # remember the bare part number for each interesting mesh in the scene + parentMeshParts[name] = partName + + # remember possible children of the mesh in the scene + children = partsHierarchy.get(partName) + if children: + parentableMeshes[name] = children + + # For each interesting child mesh in the scene, remember the bare part number + if partName in childParts: + # remember the bare part number for each interesting mesh in the scene + childMeshParts[name] = partName + + # Now, iterate through the objects in the scene and gather the interesting ones + parentObjects = [] + childObjects = [] + for obj in bpy.data.objects: + if obj.type != 'MESH': + continue + meshName = obj.data.name + if meshName in parentMeshParts: + parentObjects.append(obj) + # print("Possible parent object %s has matrix %s" % (obj.name, obj.matrix_world)) + if meshName in childMeshParts: + childObjects.append(obj) + + # for each interesting parent object + for obj in parentObjects: + meshName = obj.data.name + childrenData = parentableMeshes.get(meshName) + if not childrenData: + continue + # parentLocation = obj.matrix_world @ mathutils.Vector((0, 0, 0)) + # parentMatrixInverted = obj.matrix_world.inverted() + # print("Looking for children of %s (at %s)" % (obj.name, parentLocation)) + + slotLocations = [] + for slot in childrenData[0]: + loc = obj.matrix_world @ (mathutils.Vector(slot) * globalScaleFactor) + slotLocations.append(loc) + # print(" Slot locations: %s" % (slotLocations,)) + + # for each interesting child object + for childObj in childObjects: + childMeshName = childObj.data.name + childPartName = childMeshParts[childMeshName] + if childPartName not in childrenData[1]: + continue + childLocation = childObj.matrix_world.to_translation() + # print(" Found possible child %s" % (childObj.name,)) + for slotLocation in slotLocations: + # print(" Slot location:%s Child Location:%s" % (slotLocation, childLocation)) + diff = slotLocation - childLocation + squaredDistance = diff.length_squared + # print(" location: %s (squared distance: %s)" % (childLocation, squaredDistance)) + if squaredDistance <= squaredTolerance: + temp = childObj.matrix_world + childObj.parent = obj + # childObj.matrix_parent_inverse = parentMatrixInverted + childObj.matrix_world = temp + # print(" Got it! Parent '%s' now has child '%s'" % (obj.name, childObj.name)) + +# ************************************************************************************** +def slopeAnglesForPart(partName): + """ + Gets the allowable slope angles for a given part. + """ + global globalSlopeAngles + + # Check for a part number with or without a subsequent letter + match = re.match(r'\D*(\d+)([A-Za-z]?)', partName) + if match: + partNumberWithoutLetter = match.group(1) + partNumberWithLetter = partNumberWithoutLetter + match.group(2) + + if partNumberWithLetter in globalSlopeAngles: + return globalSlopeAngles[partNumberWithLetter] + + if partNumberWithoutLetter in globalSlopeAngles: + return globalSlopeAngles[partNumberWithoutLetter] + + return None + +# ************************************************************************************** +def isSlopeFace(slopeAngles, isGrainySlopeAllowed, faceVertices): + """ + Checks whether a given face should receive a grainy slope material. + """ + + # Step 1: Ignore some faces (studs) when checking for a grainy face + if not isGrainySlopeAllowed: + return False + + # Step 2: Calculate angle of face normal to the ground + faceNormal = (faceVertices[1] - faceVertices[0]).cross(faceVertices[2]-faceVertices[0]) + faceNormal.normalize() + + # Clamp value to range -1 to 1 (ensure we are in the strict range of the acos function, taking account of rounding errors) + cosine = min(max(faceNormal.y, -1.0), 1.0) + + # Calculate angle of face normal to the ground (-90 to 90 degrees) + angleToGroundDegrees = math.degrees(math.acos(cosine)) - 90 + + # debugPrint("Angle to ground {0}".format(angleToGroundDegrees)) + + # Step 3: Check angle of normal to ground is within one of the acceptable ranges for this part + return any(c[0] <= angleToGroundDegrees <= c[1] for c in slopeAngles) + +# ************************************************************************************** +def createMesh(name, meshName, geometry): + # Are there any points? + if not geometry.points: + return (None, False) + + newMeshCreated = False + + # Have we already cached this mesh? + if Options.createInstances and hasattr(geometry, 'mesh'): + mesh = geometry.mesh + else: + # Does this mesh already exist in Blender? + if meshIsReusable(meshName, geometry): + mesh = bpy.data.meshes[meshName] + else: + # Create new mesh + # debugPrint("Creating Mesh for node {0}".format(node.filename)) + mesh = bpy.data.meshes.new(meshName) + + points = [p.to_tuple() for p in geometry.points] + + mesh.from_pydata(points, [], geometry.faces) + + mesh.validate() + mesh.update() + + # Set a custom parameter to record the options used to create this mesh + # Used for caching. + mesh['customMeshOptions'] = Options.meshOptionsString() + + newMeshCreated = True + + # Create materials and assign material to each polygon + if mesh.users == 0: + assert len(mesh.polygons) == len(geometry.faces) + assert len(geometry.faces) == len(geometry.faceInfo) + + slopeAngles = slopeAnglesForPart(name) + isSloped = slopeAngles is not None + for i, f in enumerate(mesh.polygons): + faceInfo = geometry.faceInfo[i] + isSlopeMaterial = isSloped and isSlopeFace(slopeAngles, faceInfo.isGrainySlopeAllowed, [geometry.points[j] for j in geometry.faces[i]]) + faceColour = faceInfo.faceColour + # For debugging purposes, we can make sloped faces blue: + # if isSlopeMaterial: + # faceColour = "1" + material = BlenderMaterials.getMaterial(faceColour, isSlopeMaterial) + + if material is not None: + if mesh.materials.get(material.name) is None: + mesh.materials.append(material) + f.material_index = mesh.materials.find(material.name) + else: + printWarningOnce("Could not find material '{0}' in mesh '{1}'.".format(faceColour, name)) + + # Cache mesh + if newMeshCreated: + geometry.mesh = mesh + + return (mesh, newMeshCreated) + +# ************************************************************************************** +def addModifiers(ob): + global globalScaleFactor + + # Add Bevel modifier to each instance + if Options.addBevelModifier: + bevelModifier = ob.modifiers.new("Bevel", type='BEVEL') + bevelModifier.width = Options.bevelWidth * globalScaleFactor + bevelModifier.segments = 4 + bevelModifier.profile = 0.5 + bevelModifier.limit_method = 'WEIGHT' + bevelModifier.use_clamp_overlap = True + + # Add edge split modifier to each instance + if Options.edgeSplit: + edgeModifier = ob.modifiers.new("Edge Split", type='EDGE_SPLIT') + edgeModifier.use_edge_sharp = True + edgeModifier.split_angle = math.radians(30.0) + +# ************************************************************************************** +def smoothShadingAndFreestyleEdges(ob): + # We would like to avoid using bpy.ops functions altogether since it + # slows down progressively as more objects are added to the scene, but + # we have no choice but to use it here (a) for smoothing and (b) for + # marking freestyle edges (no bmesh options exist currently). To minimise + # the performance drop, we add one object only to the scene, smooth it, + # then remove it again. Only at the end of the import process are all the + # objects properly added to the scene. + + # Temporarily add object to scene + linkToScene(ob) + + # Select object + selectObject(ob) + + # Smooth shading + if Options.smoothShading: + # Smooth the mesh + bpy.ops.object.shade_smooth() + + if Options.instructionsLook: + # Mark all sharp edges as freestyle edges + me = bpy.context.object.data + for e in me.edges: + e.use_freestyle_mark = e.use_edge_sharp + + # Deselect object + deselectObject(ob) + + # Remove object from scene + unlinkFromScene(ob) + + +# ************************************************************************************** +def createBlenderObjectsFromNode(node, + localMatrix, + name, + realColourName=Options.defaultColour, + blenderParentTransform=Math.identityMatrix, + localToWorldSpaceMatrix=Math.identityMatrix, + blenderNodeParent=None): + """ + Creates a Blender Object for the node given and (recursively) for all it's children as required. + Creates and optimises the mesh for each object too. + """ + + global globalBrickCount + global globalObjectsToAdd + global globalWeldDistance + global globalPoints + + ob = None + + if node.isBlenderObjectNode(): + ourColourName = LDrawNode.resolveColour(node.colourName, realColourName) + meshName, geometry = node.getBlenderGeometry(ourColourName, name) + mesh, newMeshCreated = createMesh(name, meshName, geometry) + + # Format a name for the Blender Object + if Options.numberNodes: + blenderName = str(globalBrickCount).zfill(5) + "_" + name + else: + blenderName = name + globalBrickCount = globalBrickCount + 1 + + # Create Blender Object + ob = bpy.data.objects.new(blenderName, mesh) + ob.matrix_local = blenderParentTransform @ localMatrix + + if newMeshCreated: + # For performance reasons we try to avoid using bpy.ops.* methods + # (e.g. we use bmesh.* operations instead). + # See discussion: http://blender.stackexchange.com/questions/7358/python-performance-with-blender-operators + + # Use bevel weights (added to sharp edges) - Only available for Blender version < 3.4 + if hasattr(ob.data, "use_customdata_edge_bevel"): + ob.data.use_customdata_edge_bevel = True + else: + if bpy.app.version < (4, 0, 0): + # Add to scene + linkToScene(ob) + + # Blender 3.4 removed 'ob.data.use_customdata_edge_bevel', so this seems to be the alternative: + # See https://blender.stackexchange.com/a/270716 + area_type = 'VIEW_3D' # change this to use the correct Area Type context you want to process in + areas = [area for area in bpy.context.window.screen.areas if area.type == area_type] + + if len(areas) <= 0: + raise Exception(f"Make sure an Area of type {area_type} is open or visible on your screen!") + selectObject(ob) + bpy.ops.object.mode_set(mode='EDIT') + + with bpy.context.temp_override( + window=bpy.context.window, + area=areas[0], + regions=[region for region in areas[0].regions if region.type == 'WINDOW'][0], + screen=bpy.context.window.screen): + bpy.ops.mesh.customdata_bevel_weight_edge_add() + bpy.ops.object.mode_set(mode='OBJECT') + + unlinkFromScene(ob) + + # The lines out of an empty shown in the viewport are scaled to a reasonable size + ob.empty_display_size = 250.0 * globalScaleFactor + + # Mark object as transparent if any polygon is transparent + ob["Lego.isTransparent"] = False + if mesh is not None: + for faceInfo in geometry.faceInfo: + material = BlenderMaterials.getMaterial(faceInfo.faceColour, False) + if material is not None: + if "Lego.isTransparent" in material: + if material["Lego.isTransparent"]: + ob["Lego.isTransparent"] = True + break + + # Add any (LeoCAD) group nodes as parents of 'ob' (the new node), and as children of 'blenderNodeParent'. + # Also add all objects to 'globalObjectsToAdd'. + addNodeToParentWithGroups(blenderNodeParent, node.groupNames, ob) + + # Node to which our children will be attached + blenderNodeParent = ob + blenderParentTransform = Math.identityMatrix + + # debugPrint("NAME = {0}".format(name)) + + # Add light to light bricks + if (name in globalLightBricks): + lights = bpy.data.lights + lamp_data = lights.new(name="LightLamp", type='POINT') + lamp_data.shadow_soft_size = 0.05 + lamp_data.use_nodes = True + emission_node = lamp_data.node_tree.nodes.get('Emission') + if emission_node: + emission_node.inputs['Color'].default_value = globalLightBricks[name] + emission_node.inputs['Strength'].default_value = 100.0 + lamp_object = bpy.data.objects.new(name="LightLamp", object_data=lamp_data) + lamp_object.location = (-0.27, 0.0, -0.18) + + addNodeToParentWithGroups(blenderNodeParent, [], lamp_object) + + if newMeshCreated: + # Calculate what we need to do next + recalculateNormals = node.file.isDoubleSided and (Options.resolveAmbiguousNormals == "guess") + keepDoubleSided = node.file.isDoubleSided and (Options.resolveAmbiguousNormals == "double") + removeDoubles = Options.removeDoubles and not keepDoubleSided + + bm = bmesh.new() + bm.from_mesh(ob.data) + bm.faces.ensure_lookup_table() + bm.verts.ensure_lookup_table() + bm.edges.ensure_lookup_table() + + # Remove doubles + # Note: This doesn't work properly with a low distance value + # So we scale up the vertices beforehand and scale them down afterwards + for v in bm.verts: + v.co = v.co * 1000 + + if removeDoubles: + bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=globalWeldDistance) + + for v in bm.verts: + v.co = v.co / 1000 + + # Recalculate normals + if recalculateNormals: + bmesh.ops.recalc_face_normals(bm, faces=bm.faces[:]) + + # Add sharp edges (and edge weights in Blender 3) + edgeIndices = addSharpEdges(bm, geometry, name) + + bm.to_mesh(ob.data) + + # In Blender 4, set the edge weights (on ob.data rather than bm these days) + if (bpy.app.version >= (4, 0, 0)) and edgeIndices: + # Blender 4 + bevel_weight_attr = ob.data.attributes.new("bevel_weight_edge", "FLOAT", "EDGE") + for idx, meshEdge in enumerate(bm.edges): + v0 = meshEdge.verts[0].index + v1 = meshEdge.verts[1].index + if (v0, v1) in edgeIndices: + bevel_weight_attr.data[idx].value = 1.0 + + bm.clear() + bm.free() + + # Show the sharp edges in Edit Mode + for area in bpy.context.screen.areas: # iterate through areas in current screen + if area.type == 'VIEW_3D': + for space in area.spaces: # iterate through spaces in current VIEW_3D area + if space.type == 'VIEW_3D': # check if space is a 3D view + space.overlay.show_edge_sharp = True + + # Scale for Gaps + if Options.gaps and node.file.isPart: + # Distance between gaps is controlled by Options.realGapWidth + # Gap height is set smaller than realGapWidth since empirically, stacked bricks tend + # to be pressed more tightly together + gapHeight = 0.33 * Options.realGapWidth + objScale = ob.scale + dim = ob.dimensions + + # Checks whether the object isn't flat in a certain direction + # to avoid division by zero. + # Else, the scale factor is set proportional to the inverse of + # the dimension so that the mesh shrinks a fixed distance + # (determined by the gap_width and the scale of the object) + # in every direction, creating a uniform gap. + scaleFac = mathutils.Vector( (1.0, 1.0, 1.0) ) + if dim.x != 0: + scaleFac.x = 1 - Options.realGapWidth * abs(objScale.x) / dim.x + if dim.y != 0: + scaleFac.y = 1 - gapHeight * abs(objScale.y) / dim.y + if dim.z != 0: + scaleFac.z = 1 - Options.realGapWidth * abs(objScale.z) / dim.z + + # A safety net: Don't distort the part too much (e.g. -ve scale would not look good) + if scaleFac.x < 0.95: + scaleFac.x = 0.95 + if scaleFac.y < 0.95: + scaleFac.y = 0.95 + if scaleFac.z < 0.95: + scaleFac.z = 0.95 + + # Scale all vertices in the mesh + gapsScaleMatrix = mathutils.Matrix(( + (scaleFac.x, 0.0, 0.0, 0.0), + (0.0, scaleFac.y, 0.0, 0.0), + (0.0, 0.0, scaleFac.z, 0.0), + (0.0, 0.0, 0.0, 1.0) + )) + mesh.transform(gapsScaleMatrix) + + smoothShadingAndFreestyleEdges(ob) + + # Keep track of all vertices in global space, for positioning the camera and/or root object at the end + # Notice that we do this after scaling for Options.gaps + if Options.positionObjectOnGroundAtOrigin or Options.positionCamera: + if mesh and mesh.vertices: + localTransform = localToWorldSpaceMatrix @ localMatrix + points = [localTransform @ p.co for p in mesh.vertices] + + # Remember all the points + globalPoints.extend(points) + + # Hide selection of studs + if node.file.isStud: + ob.hide_select = True + + # Add bevel and edge split modifiers as needed + if mesh: + addModifiers(ob) + + else: + blenderParentTransform = blenderParentTransform @ localMatrix + + # Create children and parent them + for childNode in node.file.childNodes: + # Create sub-objects recursively + childColourName = LDrawNode.resolveColour(childNode.colourName, realColourName) + createBlenderObjectsFromNode(childNode, childNode.matrix, childNode.filename, childColourName, blenderParentTransform, localToWorldSpaceMatrix @ localMatrix, blenderNodeParent) + + return ob + +# ************************************************************************************** +def addFileToCache(relativePath, name): + """Loads and caches an LDraw file in the cache of files""" + + file = LDrawFile(relativePath, False, "", None, True) + CachedFiles.addToCache(name, file) + return True + +# ************************************************************************************** +def setupLineset(lineset, thickness, group): + lineset.select_silhouette = True + lineset.select_border = False + lineset.select_contour = False + lineset.select_suggestive_contour = False + lineset.select_ridge_valley = False + lineset.select_crease = False + lineset.select_edge_mark = True + lineset.select_external_contour = False + lineset.select_material_boundary = False + lineset.edge_type_combination = 'OR' + lineset.edge_type_negation = 'INCLUSIVE' + lineset.select_by_collection = True + lineset.collection = bpy.data.collections[bpy.data.collections.find(group)] + + # Set line color + lineset.linestyle.color = (0.0, 0.0, 0.0) + + # Set material to override color + if 'LegoMaterial' not in lineset.linestyle.color_modifiers: + lineset.linestyle.color_modifiers.new('LegoMaterial', 'MATERIAL') + + # Use square caps + lineset.linestyle.caps = 'SQUARE' # Can be 'ROUND', 'BUTT', or 'SQUARE' + + # Draw inside the edge of the object + lineset.linestyle.thickness_position = 'INSIDE' + + # Set Thickness + lineset.linestyle.thickness = thickness + +# ************************************************************************************** +def setupRealisticLook(): + scene = bpy.context.scene + render = scene.render + + # Use cycles render + scene.render.engine = 'CYCLES' + + # Add environment texture for world + if Options.addWorldEnvironmentTexture: + scene.world.use_nodes = True + nodes = scene.world.node_tree.nodes + links = scene.world.node_tree.links + worldNodeNames = [node.name for node in scene.world.node_tree.nodes] + + if "LegoEnvMap" in worldNodeNames: + env_tex = nodes["LegoEnvMap"] + else: + env_tex = nodes.new('ShaderNodeTexEnvironment') + env_tex.location = (-250, 300) + env_tex.name = "LegoEnvMap" + env_tex.image = bpy.data.images.load(Options.scriptDirectory + "/background.exr", check_existing=True) + + if "Background" in worldNodeNames: + background = nodes["Background"] + links.new(env_tex.outputs[0],background.inputs[0]) + else: + scene.world.color = (1.0, 1.0, 1.0) + + if Options.setRenderSettings: + useDenoising(scene, True) + + if (scene.cycles.samples < 400): + scene.cycles.samples = 400 + if (scene.cycles.diffuse_bounces < 20): + scene.cycles.diffuse_bounces = 20 + if (scene.cycles.glossy_bounces < 20): + scene.cycles.glossy_bounces = 20 + + # Check layer names to see if we were previously rendering instructions and change settings back. + layerNames = getLayerNames(scene) + if ("SolidBricks" in layerNames) or ("TransparentBricks" in layerNames): + render.use_freestyle = False + + # Change camera back to Perspective + if scene.camera is not None: + scene.camera.data.type = 'PERSP' + + # For Blender Render, reset to opaque background (Not available in Blender 3.5.1 or higher.) + if hasattr(render, "alpha_mode"): + render.alpha_mode = 'SKY' + + # Turn off cycles transparency + scene.cycles.film_transparent = False + + # Get the render/view layers we are interested in: + layers = getLayers(scene) + + # If we have previously added render layers for instructions look, re-enable any disabled render layers + for i in range(len(layers)): + layers[i].use = True + + # Un-name SolidBricks and TransparentBricks layers + if "SolidBricks" in layerNames: + layers.remove(layers["SolidBricks"]) + + if "TransparentBricks" in layerNames: + layers.remove(layers["TransparentBricks"]) + + # Re-enable all layers + for i in range(len(layers)): + layers[i].use = True + + # Create Compositing Nodes + scene.use_nodes = True + + # If scene nodes exist for compositing instructions look, remove them + nodeNames = [node.name for node in scene.node_tree.nodes] + if "Solid" in nodeNames: + scene.node_tree.nodes.remove(scene.node_tree.nodes["Solid"]) + + if "Trans" in nodeNames: + scene.node_tree.nodes.remove(scene.node_tree.nodes["Trans"]) + + if "Z Combine" in nodeNames: + scene.node_tree.nodes.remove(scene.node_tree.nodes["Z Combine"]) + + # Set up standard link from Render Layers to Composite + if "Render Layers" in nodeNames: + if "Composite" in nodeNames: + rl = scene.node_tree.nodes["Render Layers"] + zCombine = scene.node_tree.nodes["Composite"] + + links = scene.node_tree.links + links.new(rl.outputs[0], zCombine.inputs[0]) + + removeCollection('Black Edged Bricks Collection') + removeCollection('White Edged Bricks Collection') + removeCollection('Solid Bricks Collection') + removeCollection('Transparent Bricks Collection') + +# ************************************************************************************** +def removeCollection(name, remove_collection_objects=False): + coll = bpy.data.collections.get(name) + if coll: + if remove_collection_objects: + obs = [o for o in coll.objects if o.users == 1] + while obs: + bpy.data.objects.remove(obs.pop()) + + bpy.data.collections.remove(coll) + +# ************************************************************************************** +def createCollection(scene, name): + if bpy.data.collections.find(name) < 0: + # Create collection + bpy.data.collections.new(name) + # Add collection to scene + scene.collection.children.link(bpy.data.collections[name]) + +# ************************************************************************************** +def setupInstructionsLook(): + scene = bpy.context.scene + render = scene.render + render.use_freestyle = True + + # Use Blender Eevee (or Eevee Next) for instructions look + try: + render.engine = 'BLENDER_EEVEE' + except: + render.engine = 'BLENDER_EEVEE_NEXT' + + # Change camera to Orthographic + if scene.camera is not None: + scene.camera.data.type = 'ORTHO' + + # For Blender Render, set transparent background. (Not available in Blender 3.5.1 or higher.) + if hasattr(render, "alpha_mode"): + render.alpha_mode = 'TRANSPARENT' + + # Turn on cycles transparency + scene.cycles.film_transparent = True + + # Increase max number of transparency bounces to at least 80 + # This avoids artefacts when multiple transparent objects are behind each other + if scene.cycles.transparent_max_bounces < 80: + scene.cycles.transparent_max_bounces = 80 + + # Add collections / groups, if not already present + if hasCollections: + createCollection(scene, 'Black Edged Bricks Collection') + createCollection(scene, 'White Edged Bricks Collection') + createCollection(scene, 'Solid Bricks Collection') + createCollection(scene, 'Transparent Bricks Collection') + else: + if bpy.data.groups.find('Black Edged Bricks Collection') < 0: + bpy.data.groups.new('Black Edged Bricks Collection') + if bpy.data.groups.find('White Edged Bricks Collection') < 0: + bpy.data.groups.new('White Edged Bricks Collection') + + # Find or create the render/view layers we are interested in: + layers = getLayers(scene) + + # Remember current view layer + current_view_layer = bpy.context.view_layer + + # Add layers as needed + layerNames = list(map((lambda x: x.name), layers)) + if "SolidBricks" not in layerNames: + bpy.ops.scene.view_layer_add() + + layers[-1].name = "SolidBricks" + layers[-1].use = True + layerNames.append("SolidBricks") + solidLayer = layerNames.index("SolidBricks") + + if "TransparentBricks" not in layerNames: + bpy.ops.scene.view_layer_add() + + layers[-1].name = "TransparentBricks" + layers[-1].use = True + layerNames.append("TransparentBricks") + transLayer = layerNames.index("TransparentBricks") + + # Restore current view layer + bpy.context.window.view_layer = current_view_layer + + # Use Z layer (defaults to off in Blender 3.5.1) + if hasattr(layers[transLayer], "use_pass_z"): + layers[transLayer].use_pass_z = True + if hasattr(layers[solidLayer], "use_pass_z"): + layers[solidLayer].use_pass_z = True + + # Disable any render/view layers that are not needed + for i in range(len(layers)): + if i not in [solidLayer, transLayer]: + layers[i].use = False + + layers[solidLayer].use = True + layers[transLayer].use = True + + # Include or exclude collections for each layer + for collection in layers[solidLayer].layer_collection.children: + collection.exclude = collection.name != 'Solid Bricks Collection' + for collection in layers[transLayer].layer_collection.children: + collection.exclude = collection.name != 'Transparent Bricks Collection' + + #layers[solidLayer].layer_collection.children['Black Edged Bricks Collection'].exclude = True + #layers[solidLayer].layer_collection.children['White Edged Bricks Collection'].exclude = True + #layers[solidLayer].layer_collection.children['Solid Bricks Collection'].exclude = False + #layers[solidLayer].layer_collection.children['Transparent Bricks Collection'].exclude = True + + #layers[transLayer].layer_collection.children['Black Edged Bricks Collection'].exclude = True + #layers[transLayer].layer_collection.children['White Edged Bricks Collection'].exclude = True + #layers[transLayer].layer_collection.children['Solid Bricks Collection'].exclude = True + #layers[transLayer].layer_collection.children['Transparent Bricks Collection'].exclude = False + + # Move each part to appropriate collection + for object in scene.objects: + isTransparent = False + if "Lego.isTransparent" in object: + isTransparent = object["Lego.isTransparent"] + + # Add objects to the appropriate layers + if isTransparent: + linkToCollection('Transparent Bricks Collection', object) + else: + linkToCollection('Solid Bricks Collection', object) + + # Add object to the appropriate group + if object.data != None: + colour = object.data.materials[0].diffuse_color + + # Dark colours have white lines + if LegoColours.isDark(colour): + linkToCollection('White Edged Bricks Collection', object) + else: + linkToCollection('Black Edged Bricks Collection', object) + + # Find or create linesets + solidBlackLineset = None + solidWhiteLineset = None + transBlackLineset = None + transWhiteLineset = None + + for lineset in layers[solidLayer].freestyle_settings.linesets: + if lineset.name == "LegoSolidBlackLines": + solidBlackLineset = lineset + if lineset.name == "LegoSolidWhiteLines": + solidWhiteLineset = lineset + + for lineset in layers[transLayer].freestyle_settings.linesets: + if lineset.name == "LegoTransBlackLines": + transBlackLineset = lineset + if lineset.name == "LegoTransWhiteLines": + transWhiteLineset = lineset + + if solidBlackLineset == None: + layers[solidLayer].freestyle_settings.linesets.new("LegoSolidBlackLines") + solidBlackLineset = layers[solidLayer].freestyle_settings.linesets[-1] + setupLineset(solidBlackLineset, 2.25, 'Black Edged Bricks Collection') + if solidWhiteLineset == None: + layers[solidLayer].freestyle_settings.linesets.new("LegoSolidWhiteLines") + solidWhiteLineset = layers[solidLayer].freestyle_settings.linesets[-1] + setupLineset(solidWhiteLineset, 2, 'White Edged Bricks Collection') + if transBlackLineset == None: + layers[transLayer].freestyle_settings.linesets.new("LegoTransBlackLines") + transBlackLineset = layers[transLayer].freestyle_settings.linesets[-1] + setupLineset(transBlackLineset, 2.25, 'Black Edged Bricks Collection') + if transWhiteLineset == None: + layers[transLayer].freestyle_settings.linesets.new("LegoTransWhiteLines") + transWhiteLineset = layers[transLayer].freestyle_settings.linesets[-1] + setupLineset(transWhiteLineset, 2, 'White Edged Bricks Collection') + + # Create Compositing Nodes + scene.use_nodes = True + + if "Solid" in scene.node_tree.nodes: + solidLayer = scene.node_tree.nodes["Solid"] + else: + solidLayer = scene.node_tree.nodes.new('CompositorNodeRLayers') + solidLayer.name = "Solid" + solidLayer.layer = 'SolidBricks' + + if "Trans" in scene.node_tree.nodes: + transLayer = scene.node_tree.nodes["Trans"] + else: + transLayer = scene.node_tree.nodes.new('CompositorNodeRLayers') + transLayer.name = "Trans" + transLayer.layer = 'TransparentBricks' + + if "Z Combine" in scene.node_tree.nodes: + zCombine = scene.node_tree.nodes["Z Combine"] + else: + zCombine = scene.node_tree.nodes.new('CompositorNodeZcombine') + zCombine.use_alpha = True + zCombine.use_antialias_z = True + + if "Set Alpha" in scene.node_tree.nodes: + setAlpha = scene.node_tree.nodes["Set Alpha"] + else: + setAlpha = scene.node_tree.nodes.new('CompositorNodeSetAlpha') + setAlpha.inputs[1].default_value = 0.75 + + composite = scene.node_tree.nodes["Composite"] + composite.location = (950, 400) + zCombine.location = (750, 500) + transLayer.location = (300, 300) + solidLayer.location = (300, 600) + setAlpha.location = (580, 370) + + links = scene.node_tree.links + links.new(solidLayer.outputs[0], zCombine.inputs[0]) + links.new(solidLayer.outputs[2], zCombine.inputs[1]) + links.new(transLayer.outputs[0], setAlpha.inputs[0]) + links.new(setAlpha.outputs[0], zCombine.inputs[2]) + links.new(transLayer.outputs[2], zCombine.inputs[3]) + links.new(zCombine.outputs[0], composite.inputs[0]) + + # Blender 3 only: link the Z from the Z Combine to the composite. This is not present in Blender 4. + if bpy.app.version < (4, 0, 0): + links.new(zCombine.outputs[1], composite.inputs[2]) + + +# ************************************************************************************** +def iterateCameraPosition(camera, render, vcentre3d, moveCamera): + + global globalPoints + + bpy.context.view_layer.update() + + minX = sys.float_info.max + maxX = -sys.float_info.max + minY = sys.float_info.max + maxY = -sys.float_info.max + + # Calculate matrix to take 3d points into normalised camera space + modelview_matrix = camera.matrix_world.inverted() + + get_depsgraph_method = getattr(bpy.context, "evaluated_depsgraph_get", None) + if callable(get_depsgraph_method): + depsgraph = get_depsgraph_method() + else: + depsgraph = bpy.context.depsgraph + projection_matrix = camera.calc_matrix_camera( + depsgraph, + x=render.resolution_x, + y=render.resolution_y, + scale_x=render.pixel_aspect_x, + scale_y=render.pixel_aspect_y) + + mp_matrix = projection_matrix @ modelview_matrix + mpinv_matrix = mp_matrix.copy() + mpinv_matrix.invert() + + isOrtho = bpy.context.scene.camera.data.type == 'ORTHO' + + # Convert 3d points to camera space, calculating the min and max extents in 2d normalised camera space. + minDistToCamera = sys.float_info.max + for point in globalPoints: + p1 = mp_matrix @ mathutils.Vector((point.x, point.y, point.z, 1)) + if isOrtho: + point2d = (p1.x, p1.y) + elif abs(p1.w)<1e-8: + continue + else: + point2d = (p1.x/p1.w, p1.y/p1.w) + minX = min(point2d[0], minX) + minY = min(point2d[1], minY) + maxX = max(point2d[0], maxX) + maxY = max(point2d[1], maxY) + disttocamera = (point - camera.location).length + minDistToCamera = min(minDistToCamera, disttocamera) + + #debugPrint("minX,maxX: " + ('%.5f' % minX) + "," + ('%.5f' % maxX)) + #debugPrint("minY,maxY: " + ('%.5f' % minY) + "," + ('%.5f' % maxY)) + + # Calculate distance d from camera to centre of the model + d = (vcentre3d - camera.location).length + + # Which axis is filling most of the display? + largestSpan = max(maxX-minX, maxY-minY) + + # Force option to be in range + if Options.cameraBorderPercent > 0.99999: + Options.cameraBorderPercent = 0.99999 + + # How far should the camera be away from the object? + # Zoom in or out to make the coverage close to 1 (or 1-border if theres a border amount specified) + scale = largestSpan/(2 - 2 * Options.cameraBorderPercent) + desiredMinDistToCamera = scale * minDistToCamera + + # Adjust d to be the change in distance from the centre of the object + offsetD = minDistToCamera - desiredMinDistToCamera + + # Calculate centre of object on screen + centre2d = mathutils.Vector(((minX + maxX)*0.5, (minY+maxY)*0.5)) + + # Get the forward vector of the camera + tempMatrix = camera.matrix_world.copy() + tempMatrix.invert() + forwards4d = -tempMatrix[2] + forwards3d = mathutils.Vector((forwards4d.x, forwards4d.y, forwards4d.z)) + + # Transform the 2d centre of object back into 3d space + if isOrtho: + centre3d = mpinv_matrix @ mathutils.Vector((centre2d.x, centre2d.y, 0, 1)) + centre3d = mathutils.Vector((centre3d.x, centre3d.y, centre3d.z)) + + # Move centre3d a distance d from the camera plane + v = centre3d - camera.location + dist = v.dot(forwards3d) + centre3d = centre3d + (d - dist) * forwards3d + else: + centre3d = mpinv_matrix @ mathutils.Vector((centre2d.x, centre2d.y, -1, 1)) + centre3d = mathutils.Vector((centre3d.x / centre3d.w, centre3d.y / centre3d.w, centre3d.z / centre3d.w)) + + # Make sure the 3d centre of the object is distance d from the camera location + forwards = centre3d - camera.location + forwards.normalize() + centre3d = camera.location + d * forwards + + # Get the centre of the viewing area in 3d space at distance d from the camera + # This is where we want to move the object to + origin3d = camera.location + d * forwards3d + + #debugPrint("d: " + ('%.5f' % d)) + #debugPrint("camloc: " + ('%.5f' % camera.location.x) + "," + ('%.5f' % camera.location.y) + "," + ('%.5f' % camera.location.z)) + #debugPrint("forwards3d: " + ('%.5f' % forwards3d.x) + "," + ('%.5f' % forwards3d.y) + "," + ('%.5f' % forwards3d.z)) + #debugPrint("Origin3d: " + ('%.5f' % origin3d.x) + "," + ('%.5f' % origin3d.y) + "," + ('%.5f' % origin3d.z)) + #debugPrint("Centre3d: " + ('%.5f' % centre3d.x) + "," + ('%.5f' % centre3d.y) + "," + ('%.5f' % centre3d.z)) + + # bpy.context.scene.cursor_location = centre3d + # bpy.context.scene.cursor_location = origin3d + + if moveCamera: + if isOrtho: + offset3d = (centre3d - origin3d) + + camera.data.ortho_scale *= scale + else: + # How much do we want to move the camera? + # We want to move the camera by the same amount as if we moved the centre of the object to the centre of the viewing area. + # In practice, this is not completely accurate, since the perspective projection changes the objects silhouette in 2d space + # when we move the camera, but it's close in practice. We choose to move it conservatively by 93% of our calculated amount, + # a figure obtained by some quick practical observations of the convergence on a few test models. + offset3d = 0.93 * (centre3d - origin3d) + offsetD * forwards3d + # debugPrint("offset3d: " + ('%.5f' % offset3d.x) + "," + ('%.5f' % offset3d.y) + "," + ('%.5f' % offset3d.z) + " length:" + ('%.5f' % offset3d.length)) + # debugPrint("move by: " + ('%.5f' % offset3d.length)) + camera.location += mathutils.Vector((offset3d.x, offset3d.y, offset3d.z)) + return offset3d.length + return 0.0 + +# ************************************************************************************** +def getConvexHull(minPoints = 3): + global globalPoints + + if len(globalPoints) >= minPoints: + bm = bmesh.new() + [bm.verts.new(v) for v in globalPoints] + bm.verts.ensure_lookup_table() + + ret = bmesh.ops.convex_hull(bm, input=bm.verts, use_existing_faces=False) + globalPoints = [vert.co.copy() for vert in ret["geom"] if isinstance(vert, bmesh.types.BMVert)] + del ret + bm.clear() + bm.free() + +# ************************************************************************************** +def loadFromFile(context, filename, isFullFilepath=True): + global globalCamerasToAdd + global globalContext + global globalScaleFactor + + # Set global scale factor + # ----------------------- + # + # 1. The size of Lego pieces: + # + # Lego scale: https://www.lugnet.com/~330/FAQ/Build/dimensions + # + # 1 Lego draw unit = 0.4 mm, in an idealised world. + # + # In real life, actual Lego pieces have been measured as 0.3993 mm +/- 0.0002, + # which makes 0.4mm accurate enough for all practical purposes (The difference + # being just 7 microns). + # + # 2. Blender coordinates: + # + # Blender reports coordinates in metres by default. So the + # scale factor to convert from Lego units to Blender coordinates + # is 0.0004. + # + # This calculation does not adjust for any gap between the pieces. + # This is (optionally) done later in the calculations, where we + # reduce the size of each piece by 0.2mm (default amount) to allow + # for a small gap between pieces. This matches real piece sizes. + # + # 3. Blender Scene Unit Scale: + # + # Blender has a 'Scene Unit Scale' value which by default is set + # to 1.0. By changing the 'Unit Scale' after import the size of + # everything in the scene can be adjusted. + + globalScaleFactor = 0.0004 * Options.realScale + globalWeldDistance = 0.01 * globalScaleFactor + + globalCamerasToAdd = [] + globalContext = context + + # Make sure we have the latest configuration, including the latest ldraw directory + # and the colours derived from that. + Configure() + LegoColours() + Math() + + if Configure.ldrawInstallDirectory == "": + printError("Could not find LDraw Part Library") + return None + + # Clear caches + CachedDirectoryFilenames.clearCache() + CachedFiles.clearCache() + CachedGeometry.clearCache() + BlenderMaterials.clearCache() + Configure.warningSuppression = {} + + if Options.useLogoStuds: + debugPrint("Loading stud files") + # Load stud logo files into cache + addFileToCache("stud-logo" + Options.logoStudVersion + ".dat", "stud.dat") + addFileToCache("stud2-logo" + Options.logoStudVersion + ".dat", "stud2.dat") + addFileToCache("stud6-logo" + Options.logoStudVersion + ".dat", "stud6.dat") + addFileToCache("stud6a-logo" + Options.logoStudVersion + ".dat", "stud6a.dat") + addFileToCache("stud7-logo" + Options.logoStudVersion + ".dat", "stud7.dat") + addFileToCache("stud10-logo" + Options.logoStudVersion + ".dat", "stud10.dat") + addFileToCache("stud13-logo" + Options.logoStudVersion + ".dat", "stud13.dat") + addFileToCache("stud15-logo" + Options.logoStudVersion + ".dat", "stud15.dat") + addFileToCache("stud20-logo" + Options.logoStudVersion + ".dat", "stud20.dat") + addFileToCache("studa-logo" + Options.logoStudVersion + ".dat", "studa.dat") + addFileToCache("studtente-logo.dat", "s\\teton.dat") # TENTE + + # Load and parse file to create geometry + filename = os.path.expanduser(filename) + + debugPrint("Loading files") + node = LDrawNode(filename, isFullFilepath, os.path.dirname(filename)) + node.load() + # node.printBFC() + + if node.file.isModel: + # Fix top level rotation from LDraw coordinate space to Blender coordinate space + node.file.geometry.points = [Math.rotationMatrix * p for p in node.file.geometry.points] + node.file.geometry.edges = [(Math.rotationMatrix @ e[0], Math.rotationMatrix @ e[1]) for e in node.file.geometry.edges] + + for childNode in node.file.childNodes: + childNode.matrix = Math.rotationMatrix @ childNode.matrix + + # Switch to Object mode and deselect all + if bpy.ops.object.mode_set.poll(): + bpy.ops.object.mode_set(mode='OBJECT') + bpy.ops.object.select_all(action='DESELECT') + + name = os.path.basename(filename) + + global globalBrickCount + global globalObjectsToAdd + global globalPoints + + globalBrickCount = 0 + globalObjectsToAdd = [] + globalPoints = [] + + debugPrint("Creating NodeGroups") + BlenderMaterials.createBlenderNodeGroups() + + # Create Blender objects from the loaded file + debugPrint("Creating Blender objects") + rootOb = createBlenderObjectsFromNode(node, node.matrix, name) + + if not node.file.isModel: + if rootOb.data: + rootOb.data.transform(Math.rotationMatrix) + + scene = bpy.context.scene + camera = scene.camera + render = scene.render + + debugPrint("Number of vertices: " + str(len(globalPoints))) + + # Take the convex hull of all the points in the scene (operation must have at least three vertices) + # This results in far fewer points to consider when adjusting the object and/or camera position. + getConvexHull() + debugPrint("Number of convex hull vertices: " + str(len(globalPoints))) + + # Set camera type + if scene.camera is not None: + if Options.instructionsLook: + scene.camera.data.type = 'ORTHO' + else: + scene.camera.data.type = 'PERSP' + + # Centre object only if root node is a model + if node.file.isModel and globalPoints: + # Calculate our bounding box in global coordinate space + boundingBoxMin = mathutils.Vector((0, 0, 0)) + boundingBoxMax = mathutils.Vector((0, 0, 0)) + + boundingBoxMin[0] = min(p[0] for p in globalPoints) + boundingBoxMin[1] = min(p[1] for p in globalPoints) + boundingBoxMin[2] = min(p[2] for p in globalPoints) + boundingBoxMax[0] = max(p[0] for p in globalPoints) + boundingBoxMax[1] = max(p[1] for p in globalPoints) + boundingBoxMax[2] = max(p[2] for p in globalPoints) + + # Length of bounding box diagonal + boundingBoxDistance = (boundingBoxMax - boundingBoxMin).length + boundingBoxCentre = (boundingBoxMax + boundingBoxMin) * 0.5 + + vcentre = (boundingBoxMin + boundingBoxMax) * 0.5 + offsetToCentreModel = mathutils.Vector((-vcentre.x, -vcentre.y, -boundingBoxMin.z)) + if Options.positionObjectOnGroundAtOrigin: + debugPrint("Centre object") + rootOb.location += offsetToCentreModel + + # Offset bounding box + boundingBoxMin += offsetToCentreModel + boundingBoxMax += offsetToCentreModel + boundingBoxCentre += offsetToCentreModel + + # Offset all points + globalPoints = [p + offsetToCentreModel for p in globalPoints] + offsetToCentreModel = mathutils.Vector((0, 0, 0)) + + if camera is not None: + if Options.positionCamera: + debugPrint("Positioning Camera") + + camera.data.clip_start = 25 * globalScaleFactor # 0.01 at normal scale + camera.data.clip_end = 250000 * globalScaleFactor # 100 at normal scale + + # Set up a default camera position and rotation + camera.location = mathutils.Vector((6.5, -6.5, 4.75)) + camera.location.normalize() + camera.location = camera.location * boundingBoxDistance + camera.rotation_mode = 'XYZ' + camera.rotation_euler = mathutils.Euler((1.0471975803375244, 0.0, 0.7853981852531433), 'XYZ') + + # Must have at least three vertices to move the camera + if len(globalPoints) >= 3: + isOrtho = camera.data.type == 'ORTHO' + if isOrtho: + iterateCameraPosition(camera, render, vcentre, True) + else: + for i in range(20): + error = iterateCameraPosition(camera, render, vcentre, True) + if (error < 0.001): + break + + # Find the (first) 3D View, then set the view's 'look at' and 'distance' + # Note: Not a camera object, but the point of view in the UI. + areas = [area for area in bpy.context.window.screen.areas if area.type == 'VIEW_3D'] + if len(areas) > 0: + area = areas[0] + with bpy.context.temp_override(area=area): + view3d = bpy.context.space_data + view3d.region_3d.view_location = boundingBoxCentre # Where to look at + view3d.region_3d.view_distance = boundingBoxDistance # How far from target + + # Get existing object names + sceneObjectNames = [x.name for x in scene.objects] + + # Remove default objects + if Options.removeDefaultObjects: + if "Cube" in sceneObjectNames: + cube = scene.objects['Cube'] + if (cube.location.length < 0.001): + unlinkFromScene(cube) + + if lightName in sceneObjectNames: + light = scene.objects[lightName] + lampVector = light.location - mathutils.Vector((4.076245307922363, 1.0054539442062378, 5.903861999511719)) + if (lampVector.length < 0.001): + unlinkFromScene(light) + + # Finally add each object to the scene + debugPrint("Adding {0} objects to scene".format(len(globalObjectsToAdd))) + for ob in globalObjectsToAdd: + linkToScene(ob) + + # Parent only once everything has been added to the scene, otherwise the matrix_world's are + # sometimes not updated properly - some are erroneously still the identity matrix. + setupImplicitParents() + + # Add cameras to the scene + for ob in globalCamerasToAdd: + cam = ob.createCameraNode() + cam.parent = rootOb + + globalObjectsToAdd = [] + globalCamerasToAdd = [] + + # Select the newly created root object + selectObject(rootOb) + + # Get existing object names + sceneObjectNames = [x.name for x in scene.objects] + + # Add ground plane with white material + if Options.addGroundPlane and not Options.instructionsLook: + if "LegoGroundPlane" not in sceneObjectNames: + addPlane((0,0,0), 100000 * globalScaleFactor) + + blenderName = "Mat_LegoGroundPlane" + # Reuse current material if it exists, otherwise create a new material + if bpy.data.materials.get(blenderName) is None: + material = bpy.data.materials.new(blenderName) + else: + material = bpy.data.materials[blenderName] + + # Use nodes + material.use_nodes = True + + nodes = material.node_tree.nodes + links = material.node_tree.links + + # Remove any existing nodes + for n in nodes: + nodes.remove(n) + + node = nodes.new('ShaderNodeBsdfDiffuse') + node.location = 0, 5 + node.inputs['Color'].default_value = (1,1,1,1) + node.inputs['Roughness'].default_value = 1.0 + + out = nodes.new('ShaderNodeOutputMaterial') + out.location = 200, 0 + links.new(node.outputs[0], out.inputs[0]) + + for obj in bpy.context.selected_objects: + obj.name = "LegoGroundPlane" + if obj.data.materials: + obj.data.materials[0] = material + else: + obj.data.materials.append(material) + + # Set to render at full resolution + if Options.setRenderSettings: + scene.render.resolution_percentage = 100 + + # Setup scene as appropriate + if Options.instructionsLook: + setupInstructionsLook() + else: + setupRealisticLook() + + # Delete the temporary directory if there was one + if Configure.tempDir: + Configure.tempDir.cleanup() + + debugPrint("Load Done") + return rootOb diff --git a/ImportLDraw/loadldraw/parents.txt b/ImportLDraw/loadldraw/parents.txt new file mode 100644 index 0000000000000000000000000000000000000000..3847df19073c4f78305419b792da35a6c6c6a947 --- /dev/null +++ b/ImportLDraw/loadldraw/parents.txt @@ -0,0 +1,503 @@ +############################################################################## +# +# Parent-child Relationships of Lego Pieces +# ----------------------------------------- +# +# This document specifies parent Lego parts and their child Lego parts. +# It also specifies 'attach points', i.e. where on the parent part that a +# child can be attached. Specifically it is the offset from the origin of +# the parent to the origin of the child. +# +# File Format +# ----------- +# +# In this document a '#' starts a comment. The rest of the line is ignored. +# Lines containing only whitespace are also ignored. +# +# A parent-child relationship starts with 'Parent ', followed by a parent +# Lego part number, followed by a colon. The following lines are list of the +# possible attach points where the child parts can attach (relative to the +# parent, one per line). Spaces separate coordinates. Finally there's a +# list of the part numbers of the children that can be attached. All lists +# have one entry per line. Indentation is optional, but preferred. +# +# In other words: +# +# Parent : +# +# +# +# A list of child part numbers can be reused under different parents by first +# defining a group: +# +# Group : +# +# +# Groups are used by specifying the among the list of child part +# numbers. +# +# How to get attach points +# ------------------------ +# +# Import a model into Blender. Copy and paste the following into the +# 'Python Interactive Console' in Blender (without the leading # characters): +# +#def debugRelative(): +# def friendly(f): +# result = '{:.4f}'.format(f).rstrip('0') +# if result[-1] == '.': +# result = result[0:-1] +# if result == "-0": +# result = "0" +# return result +# child = bpy.context.active_object +# if child == bpy.context.selected_objects[0]: +# parent = bpy.context.selected_objects[1] +# else: +# parent = bpy.context.selected_objects[0] +# print("Parent: %s" % (parent.name,)) +# print("Child : %s" % (child.name,)) +# offset = 100 * parent.matrix_world.inverted() @ child.matrix_world.to_translation() +# print('%s %s %s' % (friendly(offset.x),friendly(offset.y),friendly(offset.z))) +# +# Press Return twice to accept the code. Now you are ready to start finding attach +# points. Select the parent part, then add the child part to the selection (in that +# order). In the Interactive Console type: +# +# debugRelative() +# +# and press Return. You should see the parent and child part names listed along +# with the three attach point coordinates. +# +############################################################################## + +Group MinifigHair: + 3625 # Minifig Hair Female with Pigtails + 3901 # Minifig Hair Male + 4530 # Minifig Hair Shoulder Length + 6025 # Minifig Hair Islander + 6093 # Minifig Hair Ponytail + 6132 # Minifig Hair Beard + 10048 # Minifig Hair Tousled + 10066 # Minifig Hair Orc with Ears + 11255 # Minifig Hair Long with Curls + 11256 # Minifig Hair Short, Wavy with Side Part + 12889 # Minifig Hair with Snakes + 13251 # Minifig Hair Female with Elaborate Knot Bun + 15427 # Minifig Hair Ponytail Off-centre + 15443 # Minifig Hair with 2 Locks on Left Side + 15503 # Minifig Hair Female Beehive Style with Sideways Fringe + 16175 # Minifig Construction Helmet with Hair Short + 16178 # Minifig Construction Helmet with Hair Ponytail + 17630 # Minifig Hair Straight Cut with Short Ponytail + 18835 # Minifig Hair Mid-Length Straight with Crown + 19201 # Figure Elves Hair Long Wavy with Braid, Bangs and Ears + 19203 # Figure Elves Hair Short Spiked with Ears + 19204 # Figure Elves Hair Long Wavy with Ears + 20592 # Minifig Hair Mid-Length Flipped Ends with Cat Ears + 20595 # Minifig Hair Long Tousled with Centre Parting + 20597 # Minifig Hair Short Tousled with Side Part and Lock Sticking Up + 20877 # Minifig Hair Female Short Swept Sideways + 21268 # Minifig Hair Short Swept Back with Sideburns and Widow's Peak + 21269 # Minifig Hair Swept Back with Widow's Peak, Chin-Length and Bushy in Back + 21778 # Minifig Hair Coiled + 23186 # Minifig Hair Swept Left Tousled + 26139 # Minifig Hair Short Wavy with Centre Parting + 27186 # Minifig Hair with Large High Bun + 28145 # Minifig Hair Wavy Parted with Large Thick Glasses + 28551 # Minifig Hair Bushy Swept Back + 29633 # Minifig Hair Bob Cut Parted in Middle + 29634 # Minifig Hair Female Very Curly - Parted in Middle + 30409 # Minifig Hair with Two Buns + 30475 # Minifig Hair Long and Half Braided (Needs Work) + 30608 # Minifig Hair Flat Top + 32602 # Minifig Hair Wavy Windblown to One Side + 35660 # Minifig Hair with Ponytail and Baseball Cap + 40233 # Minifig Hair Short Tousled + 40239 # Minifig Hair Long Straight + 40240 # Minifig Hair Short Bowl Cut + 40251 # Minifig Hair Long Wavy + 41612 # Minifig Hair Long and Straight Parted in the Middle + 42444 # Minifig Hair Peaked + 43751 # Minifig Hair Wavy + 44740 # Minifig Hair Decoration Plume Ribbon + 53981 # Minifig Hair Spiky Short + 53982 # Minifig Hair Spiky Long + 59362 # Minifig Hair Short with Curled Ends + 59363 # Minifig Hair Long with French Braid + 61183 # Minifig Hair Swept Back Tousled + 61196 # Minifig Hair Obi Wan + 62696 # Minifig Hair Ponytail with Long Bangs + 62711 # Minifig Hair Short Bob Cut + 62810 # Minifig Hair Short, Tousled with Side Parting + 64798 # Minifig Hair Backslick + 80577 # Minifig Hair Long Wavy with Knit Ski Cap + 85974 # Minifig Hair Long with One Front Lock + 87990 # Minifig Hair with Ponytail and Swept Sideways Fringe + 87991 # Minifig Hair Tousled with Side Parting + 87995 # Minifig Hair Bubble Style (Afro) + 88283 # Minifig Hair Mid-Length Tousled with Centre Parting + 88286 # Minifig Hair Female Ponytail with Long French Braid + 92081 # Minifig Hair Combed Front to Rear + 92083 # Minifig Hair Female Long Straight with Left Side Parting + 92746 # Minifig Hair Tousled and Layered + 92756 # Minifig Hair Pulled Back + 93563 # Minifig Hair Mohawk + 95328 # Minifig Hair Mid-Length Smooth Wide Bob Cut + 98371 # Minifig Hair Rocker with Sideburns + 98385 # Minifig Hair Spiked + 98726 # Minifig Hair Swept Right with Front Curl + 99240 # Minifig Hair Swept Back Into Bun + 99930 # Minifig Hair Short Combed Sideways with Left Parting + +Group MinifigHelmets: + 769 # Minifig Helmet Visor Space + 2446 # Minifig Helmet Modern + 2447 # Minifig Helmet Visor + 2594 # Minifig Helmet Visor Pointed + 3833 # Minifig Construction Helmet + 3834 # Minifig Fire Helmet + 3842 # Minifig Helmet Classic + 3843 # Minifig Helmet Visor with Grille and Feather + 3844 # Minifig Helmet Castle with Neck Protector + 3896 # Minifig Helmet Castle with Chin-Guard + 4503 # Minifig Helmet Castle with Fixed Face Grille + 6088 # Minifig Helmet with Underwater Antenna and Clips + 6090 # Minifig Helmet Visor Underwater + 6119 # Minifig Helmet Visor Ice Planet + 6122 # Minifig Helmet Castle with Dragon Crown Top + 10051 # Minifig Helmet Castle Uruk-Hai with Lateral Comb + 10054 # Minifig Helmet Castle Rohan with Cheek Protection & Comb + 10305 # Minifig Helmet with Front Prongs + 10907 # Minifig Helmet Iron Man + 10908 # Minifig Helmet Visor Iron Man + 11217 # Minifig Helmet SW Clone Trooper Phase 2 + 11437 # Minifig Helmet Ornament Horn Elaborate + 12899 # Minifig Helmet Sport with Front Handle + 13789 # Minifig Police Helmet + 13792 # Minifig Helmet Welding + 15851 # Minifig Helmet Motorcycle with Open Face and Visor + 16175 # Minifig Construction Helmet with Hair Short + 16178 # Minifig Construction Helmet with Hair Ponytail + 16599 # Minifig Helmet Classic with Thin Chin Guard Cracked + 19916 # Minifig Helmet SW Darth Vader Upper Part + 19917 # Minifig Collar SW Darth Vader Helmet Bottom + 20950 # Minifig Helmet Kylo Ren + 30048 # Minifig Helmet Morion + 30105 # Minifig Helmet with Bat Wings + 30120 # Minifig Helmet with Hexagonal Top and Hoses + 30172 # Minifig Hat Pith Helmet + 30175 # Minifig Helmet Samurai + 30214 # Minifig Helmet Round Bubble + 30273 # Minifig Helmet with Chinstrap and Wide Brim + 30325 # Minifig Helmet Mining + 30368 # Minifig Helmet Darth Vader + 30369 # Minifig Helmet Scout Trooper + 30370 # Minifig Helmet Star Wars Rebel Pilot + 30380 # Minifig Helmet SW Mandalorian with Rocket Pack + 30408 # Minifig Helmet Stormtrooper + 44360 # Minifig Helmet SW Snowtrooper + 46303 # Minifig Helmet Skateboard + 48489 # Minifig Helmet Visor with Pointy Sides and Eye Slit + 48493 # Minifig Helmet Castle with Angled Cheek Protection + 50665 # Minifig Helmet Classic with Thin Chin Guard Unbroken + 53450 # Minifig Helmet Viking with Nose Protector + 53451 # Minifig Helmet Viking Horn + 57900 # Minifig Helmet Imperial AT-ST Pilot + 60747 # Minifig Helmet Cap with Wings + 60748 # Minifig Helmet Cap + 61189 # Minifig Helmet SW Clone Trooper Phase I + 63585 # Minifig Helmet Floodlight for SW Clone Trooper Helmet + 63586 # Minifig Helmet Rangefinder for SW Clone Trooper Helmet + 71591 # Minifig Helmet Ornament Horn + 85945 # Minifig Helmet Alien Skull with Fangs + 87610 # Minifig Helmet Mandalorian + 87754 # Minifig Helmet Underwater + 87998 # Minifig Helmet Army + 88284 # Minifig Helmet Persian + 89159 # Minifig Helmet Visor Large with Trapezoid Area on Top + 89520 # Minifig Helmet Castle Closed with Eye Slit + 89918 # Minifig Helmet Underwater Atlantis Portal Emperor + 95676 # Minifig Helmet Gladiator + 98366 # Minifig Helmet Roman Soldier + +Group MinifigHats: + 2338 # Minifig Hat High Cone Shaped + 2528 # ~Minifig Hat Bicorne (Obsolete) + 2543 # Minifig Hat Rag + 2544 # Minifig Hat Tricorne + 2545 # Minifig Hat Imperial Guard Shako + 3624 # Minifig Police Hat + 3629 # Minifig Hat Cowboy + 3878 # Minifig Top Hat + 3898 # Minifig Cook's Hat + 6131 # Minifig Wizards Hat + 13787 # Minifig Hat Elf with Pointy Ears + 13788 # Minifig Hat with Wide Brim Down + 15424 # Minifig Hat Cowboy Type 2 + 15530 # Minifig Hat Police + 17349 # Minifig Hat Wizard without Brim + 24496 # Minifig Hat Ninja Wrap + 26007 # Minifig Hat Conical Asian with Curved Sides + 27149 # Minifig Hat Cylinder Tapered with Hatband + 30135 # Minifig Hat Kepi + 30167 # Minifig Hat Wide Brim Flat + 30172 # Minifig Hat Pith Helmet + 41334 # Minifig Hat Knit Cap + 61506 # Minifig Hat Fedora + 71015 # Minifig Hat Crown + 85975 # Minifig Hat Fez + 90386 # Minifig Hat Beret + 90388 # Minifig Hat Sombrero + 90541 # Minifig Hat Beanie + 93059 # Minifig Hat Conical Asian + 95674 # Minifig Hat Bowler + 98381 # Minifig Hat Flat Chef + +Group MinifigCaps: + 4485 # Minifig Cap with Long Flat Peak + 11303 # Minifig Cap with Short Arched Peak with Seams and Top Pin Hole + 30170 # Minifig Cap Aviator Goggles + 30171 # Minifig Cap Aviator + 60747 # Minifig Helmet Cap with Wings + 86035 # Minifig Cap with Short Arched Peak + 93219 # Minifig Baseball Cap with Button on Top + +Group FriendsHair: + 15284 # Figure Friends Hair Long with Ponytail, Side Bangs and Sun Visor + 15673 # Figure Friends Hair with Top Knot Bun and Hair Band + 15675 # Figure Friends Hair Long with Ponytail French Braided with 3 Pin Holes + 15677 # Figure Friends Hair Wavy with Curls and 2 Pinholes + 92254 # Figure Friends Hair Long with Ponytail, Side Bangs and Horse Riding Helmet + 92256 # Figure Friends Hair Long Wavy + 92257 # Figure Friends Hair Long with Ponytail and Side Bangs + 92258 # Figure Friends Hair Long Wavy Partially Tied Back + 93352 # Figure Friends Hair Long with Curls + 96480 # Figure Friends Hair Brush with Heart on Reverse + 96484 # Figure Friends Hair Dryer + 92254 # Figure Friends Hair Long with Ponytail, Side Bangs and Horse Riding Helmet + 92255 # Figure Friends Hair Long Straight + 92259 # Figure Friends Hair Short, Bob Cut + +############################################################################## +# +# Regular minifigures +# +############################################################################## +Parent 973: # Torso + 0 0 0 # attach point + 0 -6 0 # attach point + -15.4 8 0 # right arm attach point + 15.4 8 0 # left arm attach point + 0 -24 0 # head attach point + 0 32 0 # hips attach point + 15 # Minifig Legs Old + 975 # Minifig Arm Right + 976 # Minifig Arm Left + 3626 # Minifig Head with Blocked Hollow Stud + 3815 # Minifig Hips + 3818 # Minifig Arm Right + 3819 # Minifig Arm Left + 3838 # Minifig Airtanks + 4498 # Minifig Arrow Quiver + 4524 # Minifig Cape + 2524 # Minifig Backpack Non-Opening + 10679 # Minifig Hips and Legs with Robotic Leg Right + 16709 # Minifig Hips and Legs Short with Horizontal Stripe + 21019 # ~Minifig Hips and Legs Dual Mould with Uncoloured Lower Leg Pattern + 24323 # Minifig Hips and Legs Faun + 42446 # Bracket 1 x 1 - 1 x 1 Thin with Stud Hole + 84637 # Minifig Hips and Legs with Wooden Leg Right + +Parent 975: # right arm + -22 16.1213 20.8787 # TODO: check? + 977 # Minifig Hand + 3820 # Minifig Hand +Parent 976: # left arm + 22 16.1213 20.8787 # TODO: check? + 977 # Minifig Hand + 3820 # Minifig Hand + +Parent 3626: # head + 0 0 0 # hair/hat/helmet attach point + 0 0 -1 # hair attach point + + MinifigHair + MinifigHelmets + MinifigHats + MinifigCaps + + 6158 # Minifig Fire Helmet Breathing Hose + 15553 # Minifig Headdress Batgirl +Parent 3815: # hips + 0 12 0 # left leg attach point + 2532 # Minifig Leg Wooden + 3816 # ~Minifig Leg Right (Obsolete) + 3817 # ~Minifig Leg Left (Obsolete) + 10177 # Minifig Leg Right Robotic + 17486 # Minifig Robot Leg 1 x 2 x 1.667 with Pin + 20460 # ~Minifig Leg Left Dual Mould + 20461 # ~Minifig Leg Right Dual Mould + 24082 # Minifig Leg Faun Right + 24083 # Minifig Leg Faun Left + 30362 # ~Minifig Robot Leg (Obsolete) + 87569 # Minifig Mechanical Leg Angled + +Parent 3818: # right arm + -5 19 -10 # hand attach point + 977 # Minifig Hand + 3820 # Minifig Hand +Parent 3819: # left arm + 5 19 -10 # hand attach point + 5 18.9 -9.9 # hand/hand hook attach point + 977 # Minifig Hand + 2531 # Minifig Hand Hook + 3820 # Minifig Hand +Parent 3820: # hand + -0.1903 -1.37 -9.4321 # radio with long handle attach point + -0.0292 -18.6122 -14.2941 # bar with clip attach point + 0 -27.7451 -16.8451 # goblet/oar attach point + 0 -0.6379 -9.8353 # gun flintlock pistol attach point / lance attach point + 0 -2.5746 -10.3352 # sword cutlass attach point + 0.0004 -25.8089 -16.3445 # oar attach point + 0 -28.3085 -42.8774 # gun musket attach point + 0 14.6628 -5.8898 # paint brush attach point + 0 -10.319 -12.3384 # shield triangular attach point + 0 1.8796 -9.1834 # bow with arrow attach point + 0 4.3967 -8.5325 # bow with arrow attach point (with arrow in other hand) + 0 -43.236 -20.8515 # spear with round end attach point + 0 -45.1723 -21.3522 # spear with round end attach point (held slightly further down) + 0 -1.3031 -10.0196 # suitcase attach point + 5.0276 -9.0556 -32.0066 # cup attach point + -0.0071 1.1162 -9.4039 # bar 3L attach point + 0.0076 -1.8049 -10.1498 # suitcase with long handle attach point + -1.9531 2.0054 -28.9541 # newspaper attach point + -0.0034 -0.8222 -9.8935 # handcuffs attach point / radio with large grille + 0.0041 -15.8223 -13.7717 # Bar 1.5L with Clip + 2343 # Minifig Goblet + 2530 # Minifig Sword Cutlass + 2542 # Minifig Tool Oar + 2561 # Minifig Gun Musket + 2562 # Minifig Gun Flintlock Pistol + 3068 # Tile 2x2 (for newspaper) + 3846 # Minifig Shield Triangular + 3849 # Minifig Lance + 3899 # Minifig Cup + 3962 # Minifig Radio + 4497 # Minifig Spear with Round End + 4449 # Minifig Suitcase (closed) + 4499 # Minifig Bow with Arrow + 19220 # Minifig Radio with Large Grille + 37178 # Minifig Suitcase with Long Handle (closed) + 48729 # Bar 1.5L with Clip + 61482 # Minifig Handcuffs + 87994 # Bar 3L + 93551 # Minifig Paint Palette + 93552 # Minifig Paint Brush + + +Parent 6260: # skeleton torso + 0 -24 0 # skeleton head attach point + 21.2 6.8 0 # skeleton left arm attach point + -21.2 6.8 0 # skeleton right arm attach point + 10 45 0 # left leg attach point + -10 45 0 # right leg attach point + 3626 # Minifig Head + 6265 # Minifig Skeleton Arm + 6266 # Minifig Skeleton Leg + 23769 # Minifig Skeleton Leg Long + 82359 # Minifig Skeleton Head + 93062 # Minifig Skeleton Leg with Square Foot + 93612 # ~Minifig Skeleton Leg with Square Foot, Leg + 93613 # ~Minifig Skeleton Leg with Square Foot, Foot + +Parent 82359: # skeleton head + 0 0 0 # hat/helmet attach point + + MinifigHelmets + MinifigHats + MinifigCaps + + 6158 # Minifig Fire Helmet Breathing Hose + 15553 # Minifig Headdress Batgirl + +Parent 25128: # Minifig Baby + 0 -0.9273 0 # Head attach point + 100662 # Minifig baby head + +############################################################################## +# +# Friends figures +# +############################################################################## +Group FriendsTorsoChildren + 92198 # Figure Friends Head + 92240 # Figure Friends Male Head + 92244 # Figure Friends Female Left Arm + 92245 # Figure Friends Female Right Arm + 92246 # Figure Friends Male Left Arm + 92247 # Figure Friends Male Right Arm + 92248 # Figure Friends Hips + 10679 # Minifig Hips and Legs with Robotic Leg Right + 16709 # Minifig Hips and Legs Short with Horizontal Stripe + 24323 # Minifig Hips and Legs Faun + 84637 # Minifig Hips and Legs with Wooden Leg Right + +Parent 92198: # Figure Friends Head + 0 0 -3 # hair attach point + FriendsHair + MinifigHair + +Parent 92240: # Figure Friends Male Head + 0 0 -3 + FriendsHair + MinifigHair + +Parent u9210: # Figure Friends Boy Torso + 0 -33.2 0 # head attach point + 0 -36.1 0 # head attach point + 11 0 0 # left arm attach point + -11 0 0 # right arm attach point + 0 29.4 -1.2 # hips attach point + 0 -2.7 -47.4 # legs attach point + FriendsTorsoChildren + +Parent 92241: # Figure Friends Girl Torso + 0 -33.2 0 # head attach point + 0 -36.1 0 # head attach point + 11 0 0 # left arm attach point + -11 0 0 # right arm attach point + 0 29.4 -1.2 # hips attach point + 0 -2.7 -47.4 # legs attach point + FriendsTorsoChildren + +Parent 92242: # Figure Friends Man Torso + 0 -33.2 0 # head attach point + 0 -36.1 0 # head attach point + 11 0 0 # left arm attach point + -11 0 0 # right arm attach point + 0 29.4 -1.2 # hips attach point + 0 -2.7 -47.4 # legs attach point + FriendsTorsoChildren + +Parent 92243: # Figure Friends Woman Torso + 0 -33.2 0 # head attach point + 0 -36.1 0 # head attach point + 11 0 0 # left arm attach point + -11 0 0 # right arm attach point + 0 29.4 -1.2 # hips attach point + 0 -2.7 -47.4 # legs attach point + FriendsTorsoChildren + +Parent 92248: # Figure Friends Hips + 0 47.4 -2.7 # legs attach point + 0 16.0215 -44.7133 # legs attach point (sitting down) + 11202 # Figure Friends Legs with Shorts + 11244 # Figure Friends Legs with Wrap-around Skirt + 15680 # Figure Friends Legs with Full Length Skirt + 16529 # Figure Friends Legs Mermaid Tail + 92249 # Figure Friends Legs with Long Skirt + 92250 # Figure Friends Legs with Layered Skirt + 92251 # Figure Friends Legs with Cropped Trousers + 92252 # Figure Friends Legs with Pleated Skirt + 92253 # Figure Friends Legs with Trousers diff --git a/ImportLDraw/lsynth/572a.dat b/ImportLDraw/lsynth/572a.dat new file mode 100755 index 0000000000000000000000000000000000000000..3bf105dd161225d9d4ee6908c517c85df7d3b8ae --- /dev/null +++ b/ImportLDraw/lsynth/572a.dat @@ -0,0 +1,20 @@ +0 String End Stud +0 Name: 572a.dat +0 Author: Steve Bliss [sbliss] +0 !LDRAW_ORG Part UPDATE 2005-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2005-12-28 [PTadmin] Official Update 2005-01 +0 !HISTORY 2007-07-09 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 + +1 16 0 0 0 8 0 0 0 1 0 0 0 8 4-4edge.dat +1 16 0 4 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 4 0 -6 0 0 0 -4 0 0 0 6 4-4disc.dat +1 16 0 0 0 8 0 0 0 4 0 0 0 8 4-4cyli.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 ring3.dat +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud.dat +1 16 0 4 0 -1 0 0 0 -1 0 0 0 1 stud4a.dat +0 diff --git a/ImportLDraw/lsynth/757.dat b/ImportLDraw/lsynth/757.dat new file mode 100755 index 0000000000000000000000000000000000000000..55656be2bd2cd33a4374b6b2a7a5b35c8d3982ce --- /dev/null +++ b/ImportLDraw/lsynth/757.dat @@ -0,0 +1,127 @@ +0 Hose Flexible 12L Top 1 x 1 x 2/3 with Stud +0 Name: 757.dat +0 Author: Steve Bliss [sbliss] +0 !LDRAW_ORG Part UPDATE 2004-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW +0 !KEYWORDS gizmo, hose, flexible, minifig, space, tube, end, tabs, cap +0 !KEYWORDS Star Wars, Studio, Life on Mars + +0 !HISTORY 2004-03-02 [PTadmin] Official Update 2004-01 +0 !HISTORY 2007-12-30 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 + +0 // Note: One or more STUD references in this file have been purposely +0 // capitalized to ensure that the stud is fully visible in LEdit. + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 STUD2A.DAT +1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 0 0 10 0 0 0 1 0 0 0 10 4-4edge.dat +1 16 0 3 0 10 0 0 0 1 0 0 0 10 4-4edge.dat +1 16 0 3 0 8 0 0 0 1 0 0 0 8 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 0 0 4 0 0 0 16 0 0 0 4 4-4cyli.dat +1 16 0 0 0 10 0 0 0 3 0 0 0 10 4-4cyli.dat +1 16 0 3 0 8 0 0 0 6 0 0 0 8 4-4cyli.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 ring3.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 ring4.dat +1 16 0 3 0 -2 0 0 0 -1 0 0 0 2 ring4.dat +1 16 0 16 0 2 0 0 0 -1 0 0 0 2 ring2.dat +1 16 0 9 0 2 0 0 0 7 0 0 0 2 4-4con3.dat +1 16 0 16 0 4 0 0 0 1 0 0 0 4 4-4edge.dat + +4 16 -2 9 7.6 0 9 8 0 16 8 -2 16 7.6 +4 16 0 9 8 2 9 7.6 2 16 7.6 0 16 8 +4 16 0 16 5 -2 16 5.6 -2 16 7.6 0 16 8 +4 16 2 16 5.6 0 16 5 0 16 8 2 16 7.6 +3 16 -2 9 7.6 -2 16 7.6 -2 16 5.6 +3 16 2 16 5.6 2 16 7.6 2 9 7.6 +2 24 -2 9 7.6 -2 16 7.6 +2 24 -2 16 7.6 -2 16 5.6 +2 24 -2 16 5.6 -2 9 7.6 +2 24 2 9 7.6 2 16 7.6 +2 24 2 16 7.6 2 16 5.6 +2 24 2 16 5.6 2 9 7.6 +2 24 -2 16 7.6 0 16 8 +2 24 0 16 8 2 16 7.6 +2 24 -7.6 9 2 -7.391 9 3.062 +2 24 -7.391 9 3.062 -5.657 9 5.657 +2 24 -5.657 9 5.657 -3.062 9 7.391 +2 24 -3.062 9 7.391 -2 9 7.6 +2 24 -5.6 16 2 -5.543 16 2.296 +2 24 -5.543 16 2.296 -4.243 16 4.243 +2 24 -4.243 16 4.243 -2.296 16 5.543 +2 24 -2.296 16 5.543 -2 16 5.6 +4 16 -7.6 9 -2 -8 9 0 -8 16 0 -7.6 16 -2 +4 16 -8 9 0 -7.6 9 2 -7.6 16 2 -8 16 0 +4 16 -5 16 0 -5.6 16 -2 -7.6 16 -2 -8 16 0 +4 16 -5.6 16 2 -5 16 0 -8 16 0 -7.6 16 2 +3 16 -7.6 9 -2 -7.6 16 -2 -5.6 16 -2 +3 16 -5.6 16 2 -7.6 16 2 -7.6 9 2 +2 24 -7.6 9 -2 -7.6 16 -2 +2 24 -7.6 16 -2 -5.6 16 -2 +2 24 -5.6 16 -2 -7.6 9 -2 +2 24 -7.6 9 2 -7.6 16 2 +2 24 -7.6 16 2 -5.6 16 2 +2 24 -5.6 16 2 -7.6 9 2 +2 24 -7.6 16 -2 -8 16 0 +2 24 -8 16 0 -7.6 16 2 +2 24 -2 9 -7.6 -3.062 9 -7.391 +2 24 -3.062 9 -7.391 -5.657 9 -5.657 +2 24 -5.657 9 -5.657 -7.391 9 -3.062 +2 24 -7.391 9 -3.062 -7.6 9 -2 +2 24 -2 16 -5.6 -2.296 16 -5.543 +2 24 -2.296 16 -5.543 -4.243 16 -4.243 +2 24 -4.243 16 -4.243 -5.543 16 -2.296 +2 24 -5.543 16 -2.296 -5.6 16 -2 +4 16 2 9 -7.6 0 9 -8 0 16 -8 2 16 -7.6 +4 16 0 9 -8 -2 9 -7.6 -2 16 -7.6 0 16 -8 +4 16 0 16 -5 2 16 -5.6 2 16 -7.6 0 16 -8 +4 16 -2 16 -5.6 0 16 -5 0 16 -8 -2 16 -7.6 +3 16 2 9 -7.6 2 16 -7.6 2 16 -5.6 +3 16 -2 16 -5.6 -2 16 -7.6 -2 9 -7.6 +2 24 2 9 -7.6 2 16 -7.6 +2 24 2 16 -7.6 2 16 -5.6 +2 24 2 16 -5.6 2 9 -7.6 +2 24 -2 9 -7.6 -2 16 -7.6 +2 24 -2 16 -7.6 -2 16 -5.6 +2 24 -2 16 -5.6 -2 9 -7.6 +2 24 2 16 -7.6 0 16 -8 +2 24 0 16 -8 -2 16 -7.6 +2 24 7.6 9 -2 7.391 9 -3.062 +2 24 7.391 9 -3.062 5.657 9 -5.657 +2 24 5.657 9 -5.657 3.062 9 -7.391 +2 24 3.062 9 -7.391 2 9 -7.6 +2 24 5.6 16 -2 5.543 16 -2.296 +2 24 5.543 16 -2.296 4.243 16 -4.243 +2 24 4.243 16 -4.243 2.296 16 -5.543 +2 24 2.296 16 -5.543 2 16 -5.6 +4 16 7.6 9 2 8 9 0 8 16 0 7.6 16 2 +4 16 8 9 0 7.6 9 -2 7.6 16 -2 8 16 0 +4 16 5 16 0 5.6 16 2 7.6 16 2 8 16 0 +4 16 5.6 16 -2 5 16 0 8 16 0 7.6 16 -2 +3 16 7.6 9 2 7.6 16 2 5.6 16 2 +3 16 5.6 16 -2 7.6 16 -2 7.6 9 -2 +2 24 7.6 9 2 7.6 16 2 +2 24 7.6 16 2 5.6 16 2 +2 24 5.6 16 2 7.6 9 2 +2 24 7.6 9 -2 7.6 16 -2 +2 24 7.6 16 -2 5.6 16 -2 +2 24 5.6 16 -2 7.6 9 -2 +2 24 7.6 16 2 8 16 0 +2 24 8 16 0 7.6 16 -2 +2 24 2 9 7.6 3.062 9 7.391 +2 24 3.062 9 7.391 5.657 9 5.657 +2 24 5.657 9 5.657 7.391 9 3.062 +2 24 7.391 9 3.062 7.6 9 2 +2 24 2 16 5.6 2.296 16 5.543 +2 24 2.296 16 5.543 4.243 16 4.243 +2 24 4.243 16 4.243 5.543 16 2.296 +2 24 5.543 16 2.296 5.6 16 2 + +5 24 -8 16 0 -8 9 0 -7.6 16 -2 -7.6 16 2 +5 24 0 16 8 0 9 8 -2 16 7.6 2 16 7.6 +5 24 8 16 0 8 9 0 7.6 16 2 7.6 16 -2 +5 24 0 16 -8 0 9 -8 2 16 -7.6 -2 16 -7.6 +0 diff --git a/ImportLDraw/lsynth/LS00.dat b/ImportLDraw/lsynth/LS00.dat new file mode 100755 index 0000000000000000000000000000000000000000..288cc335f9fb34e9adad319322dd943f4a1ddb7c --- /dev/null +++ b/ImportLDraw/lsynth/LS00.dat @@ -0,0 +1,13 @@ +0 ~Moved to LS01 +0 Name: LS00.dat +0 Author: [Willy Tschager] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2007-06-27 [Willy Tschager] Initial version + +0 // LSynth Constraint Part - Type 1 - "Hose" +1 16 0 0 0 1 0 0 0 1 0 0 0 1 LS01.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS01.dat b/ImportLDraw/lsynth/LS01.dat new file mode 100755 index 0000000000000000000000000000000000000000..10f9092215efd7fa0df48581ffb0250f2f87a2b4 --- /dev/null +++ b/ImportLDraw/lsynth/LS01.dat @@ -0,0 +1,31 @@ +0 LSynth Constraint Part - Type 1 - "Hose" +0 Name: LS01.dat +0 Author: John VanZwieten, Steve Bliss, Kevin Clague, Willy Tschager +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2006-11-25 [kclague] Place holder part, can be replaced as needed +0 !HISTORY 2007-04-03 [Holly-Wood] BFCed, converted to new header. + +1 16 0 5 0 5 0 0 0 -1 0 0 0 5 4-4disc.dat +1 16 0 5 0 5 0 0 0 1 0 0 0 5 4-4edge.dat +1 16 0 5 0 5 0 0 0 -5 0 0 0 5 4-4cyli.dat +1 16 0 -0.5 -4.9 1 0 0 0 5.5 0 0 0 2 box.dat +1 16 0 0 0 5 0 0 0 1 0 0 0 5 4-4edge.dat +1 16 0 0 0 5 0 0 0 1 0 0 0 5 4-4disc.dat +1 16 0 0 0 3 0 0 0 1 0 0 0 3 4-4edge.dat +1 16 0 0 0 3 0 0 0 -6 0 0 0 3 4-4cyli.dat +1 16 0 -6 0 3 0 0 0 1 0 0 0 3 4-4edge.dat +1 16 0 -6 0 1 0 0 0 -1 0 0 0 1 ring3.dat +1 16 0 -6 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 -6 0 4 0 0 0 -2 0 0 0 4 4-4cyli.dat +1 16 0 -8 0 2 0 0 0 -4 0 0 0 2 4-4con1.dat +1 16 0 -12 0 2 0 0 0 1 0 0 0 2 4-4edge.dat +1 16 0 -12 0 2 0 0 0 1 0 0 0 2 4-4disc.dat +0 diff --git a/ImportLDraw/lsynth/LS02.dat b/ImportLDraw/lsynth/LS02.dat new file mode 100755 index 0000000000000000000000000000000000000000..a6fc439d596f3762b2c3057c524a6c86108210f3 --- /dev/null +++ b/ImportLDraw/lsynth/LS02.dat @@ -0,0 +1,37 @@ +0 LSynth Constraint Part - Type 2 - "Hose" +0 Name: LS02.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2007-02-20 [Holly-Wood] Initial version + +1 16 0 0 0 4.904 0 0.975 0 1 0 -0.975 0 4.904 2-4edge.dat +2 24 -4.904 0 0.975 -4.904 0 -0.976 +2 24 -4.904 0 -0.976 -4.157 0 -2.778 +2 24 -4.157 0 -2.778 -2.778 0 -4.157 +2 24 -2.778 0 -4.157 -0.975 0 -4.904 +2 24 -0.976 0 -4.904 -0.976 0 -7 +2 24 -0.976 0 -7 0.975 0 -7 +2 24 0.976 0 -4.904 0.976 0 -7 +2 24 0.976 0 -4.904 2.778 0 -4.157 +2 24 2.778 0 -4.157 4.157 0 -2.778 +2 24 4.157 0 -2.778 4.904 0 -0.975 +2 24 -0.975 0 -4.904 0 -20 0 +2 24 -0.976 0 -7 0 -20 -7 +2 24 0.976 0 -7 0 -20 -7 +2 24 0.975 0 -4.904 0 -20 0 +2 24 0 -20 0 0 -20 -7 +1 16 0 0 0 4.90393 0 0.975452 0 -1 0 -0.975452 0 4.90393 4-4disc.dat +1 16 0 0 0 -4.90393 0 0.975452 0 -20 0 0.975452 0 4.90393 4-4con0.dat +4 16 0.975 0 -4.904 -0.976 0 -4.904 -0.976 0 -7 0.975 0 -7 +4 16 0 -20 0 0.975 0 -4.904 0.975 0 -7 0 -20 -7 +4 16 -0.976 0 -4.904 0 -20 0 0 -20 -7 -0.976 0 -7 +3 16 0.975 0 -7 -0.976 0 -7 0 -20 -7 +0 diff --git a/ImportLDraw/lsynth/LS03.dat b/ImportLDraw/lsynth/LS03.dat new file mode 100755 index 0000000000000000000000000000000000000000..16d0f0ca464f5026042fb90c98ca1ecee50cbe58 --- /dev/null +++ b/ImportLDraw/lsynth/LS03.dat @@ -0,0 +1,69 @@ +0 LSynth Constraint Part - Type 3 - "Hose" +0 Name: LS03.dat +0 Author: John VanZwieten, Steve Bliss, Kevin Clague, Paul Easter, Don Heyse +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 1999-05-02 [kclague] Added nipple (taken from 751.dat) +0 !HISTORY 1999-08-19 [SEB] Changed 4-4con12.dat >> 4-4con1.dat +0 !HISTORY 2002-10-24 [kclague] Added fin for easy visualization of Y rotation +0 !HISTORY 2007-04-03 [Holly-Wood] Changed color 47 to 16, BFCed, converted to new header. + +1 16 0 5 0 3 0 0 0 -1 0 0 0 3 4-4disc.dat +1 16 0 5 0 3 0 0 0 1 0 0 0 3 4-4edge.dat +1 16 0 0 0 7 0 0 0 1 0 0 0 7 4-4edge.dat +1 16 0 5 0 3 0 0 0 -5 0 0 0 3 4-4cyli.dat +1 16 0 -0.5 -4.9 1 0 0 0 5.5 0 0 0 2 box.dat +1 16 0 0 0 5 0 0 0 1 0 0 0 5 4-4edge.dat +1 16 0 0 0 5 0 0 0 1 0 0 0 5 4-4disc.dat +1 16 0 0 0 3 0 0 0 1 0 0 0 3 4-4edge.dat +1 16 0 0 0 3 0 0 0 -6 0 0 0 3 4-4cyli.dat +1 16 0 -6 0 3 0 0 0 1 0 0 0 3 4-4edge.dat +1 16 0 -6 0 1 0 0 0 -1 0 0 0 1 ring3.dat +1 16 0 -6 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 -6 0 4 0 0 0 -2 0 0 0 4 4-4cyli.dat +1 16 0 -8 0 4 0 0 0 -4 0 0 0 4 4-4con0.dat +0 +0 // Inlined: 1 16 0 0 0 10 0 0 0 15 0 0 0 10 zerobase.dat +0 +2 4 -10 0 0 10 0 0 +2 5 0 -15 0 0 15 0 +2 9 0 0 -10 0 0 10 +0 +x +2 4 11.6 0 0.2 11.6 0 -0.2 +2 4 11.8 0 0 11.4 0 0 +2 4 10.4 0 0.4 10.8 0 -0.4 +2 4 10.8 0 0.4 10.4 0 -0.4 +0 -x +2 4 -11.8 0 0 -11.4 0 0 +2 4 -10.4 0 0.4 -10.8 0 -0.4 +2 4 -10.8 0 0.4 -10.4 0 -0.4 +0 +y +2 5 0.2 17.4 0 -0.2 17.4 0 +2 5 0 17.7 0 0 17.1 0 +2 5 0 15.9 0 0.4 15.6 0 +2 5 0 15.9 0 -0.4 15.9 0 +2 5 0 15.9 0 0.4 16.2 0 +0 -y +2 5 0 -17.7 0 0 -17.1 0 +2 5 0 -15.9 0 0.4 -15.6 0 +2 5 0 -15.9 0 -0.4 -15.9 0 +2 5 0 -15.9 0 0.4 -16.2 0 +0 +z +2 9 0.2 0 11.6 -0.2 0 11.6 +2 9 0 0 11.8 0 0 11.4 +2 9 0.4 0 10.4 0.4 0 10.8 +2 9 0.4 0 10.4 -0.4 0 10.8 +2 9 -0.4 0 10.4 -0.4 0 10.8 +0 -z +2 9 0 0 -11.8 0 0 -11.4 +2 9 0.4 0 -10.4 0.4 0 -10.8 +2 9 0.4 0 -10.4 -0.4 0 -10.8 +2 9 -0.4 0 -10.4 -0.4 0 -10.8 +0 diff --git a/ImportLDraw/lsynth/LS04.dat b/ImportLDraw/lsynth/LS04.dat new file mode 100755 index 0000000000000000000000000000000000000000..ae8a7fdc0a2661baee08ae117f457b9982d287cf --- /dev/null +++ b/ImportLDraw/lsynth/LS04.dat @@ -0,0 +1,64 @@ +0 LSynth Constraint Part - Type 4 - "String" +0 Name: LS04.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2007-06-07 [Holly-Wood] Initial version + +2 24 0.5 0 -0.866 0.195 0 -0.866 +2 24 0.195 0 -0.866 0.195 0 -1.4 +2 24 -0.195 0 -1.4 0.195 0 -1.4 +2 24 -0.195 0 -0.866 -0.195 0 -1.4 +2 24 -0.195 0 -0.866 -0.5 0 -0.866 +2 24 -0.5 0 -0.866 -1 0 0 +2 24 -1 0 0 -0.5 0 0.866 +2 24 -0.5 0 0.866 0.5 0 0.866 +2 24 0.5 0 0.866 1 0 0 +2 24 1 0 0 0.5 0 -0.866 +2 24 -0.195 0 -0.866 0 -4 -0.5 +2 24 -0.195 0 -1.4 0 -4 -1.4 +2 24 0.195 0 -1.4 0 -4 -1.4 +2 24 0.195 0 -0.866 0 -4 -0.5 +2 24 0 -4 -0.5 0 -4 -1.4 +2 24 0 -4 -0.5 0.433 -4 -0.25 +2 24 -0.433 -4 -0.25 0 -4 -0.5 +2 24 -0.433 -4 0.25 -0.433 -4 -0.25 +2 24 0 -4 0.5 -0.433 -4 0.25 +2 24 0.433 -4 0.25 0 -4 0.5 +2 24 0.433 -4 -0.25 0.433 -4 0.25 +3 16 -0.5 0 -0.866 0.5 0 -0.866 0 0 0 +3 16 -1 0 0 -0.5 0 -0.866 0 0 0 +3 16 -0.5 0 0.866 -1 0 0 0 0 0 +3 16 0.5 0 0.866 -0.5 0 0.866 0 0 0 +3 16 1 0 0 0.5 0 0.866 0 0 0 +3 16 0.5 0 -0.866 1 0 0 0 0 0 +3 8 0 -4 -0.5 0.5 0 -0.866 -0.5 0 -0.866 +3 16 -0.433 -4 -0.25 0 -4 -0.5 -0.5 0 -0.866 +3 8 -0.433 -4 -0.25 -0.5 0 -0.866 -1 0 0 +3 16 -0.433 -4 0.25 -0.433 -4 -0.25 -1 0 0 +3 8 -0.433 -4 0.25 -1 0 0 -0.5 0 0.866 +3 16 0 -4 0.5 -0.433 -4 0.25 -0.5 0 0.866 +3 8 0 -4 0.5 -0.5 0 0.866 0.5 0 0.866 +3 16 0.433 -4 0.25 0 -4 0.5 0.5 0 0.866 +3 8 0.433 -4 0.25 0.5 0 0.866 1 0 0 +3 16 0.433 -4 -0.25 0.433 -4 0.25 1 0 0 +3 8 0.433 -4 -0.25 1 0 0 0.5 0 -0.866 +3 16 0 -4 -0.5 0.433 -4 -0.25 0.5 0 -0.866 +3 16 0 -4 0 0.433 -4 -0.25 0 -4 -0.5 +3 16 0 -4 0 0 -4 -0.5 -0.433 -4 -0.25 +3 16 0 -4 0 -0.433 -4 -0.25 -0.433 -4 0.25 +3 16 0 -4 0 -0.433 -4 0.25 0 -4 0.5 +3 16 0 -4 0 0 -4 0.5 0.433 -4 0.25 +3 16 0 -4 0 0.433 -4 0.25 0.433 -4 -0.25 +4 16 0.195 0 -0.866 -0.195 0 -0.866 -0.195 0 -1.4 0.195 0 -1.4 +4 16 0 -4 -0.5 0.195 0 -0.866 0.195 0 -1.4 0 -4 -1.4 +4 16 -0.195 0 -0.866 0 -4 -0.5 0 -4 -1.4 -0.195 0 -1.4 +3 16 0.195 0 -1.4 -0.195 0 -1.4 0 -4 -1.4 +0 diff --git a/ImportLDraw/lsynth/LS05.dat b/ImportLDraw/lsynth/LS05.dat new file mode 100755 index 0000000000000000000000000000000000000000..741e2edb0b632ff322f3d70da88728c88703eb97 --- /dev/null +++ b/ImportLDraw/lsynth/LS05.dat @@ -0,0 +1,151 @@ +0 LSynth Constraint Part - Type 5 - "NXT Cable" +0 Name: LS05.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2008-03-17 [Holly-Wood] Initial version + +1 16 0 0 0 9.023 0 1.794 0 1 0 -0.39 0 1.962 48\1-4edge.dat +1 16 0 0 0 1.794 0 -9.023 0 1 0 1.962 0 0.39 48\1-4edge.dat +2 24 -9.023 0 0.39 -9.18 0 0.131 +2 24 -9.18 0 0.131 -9.18 0 -0.131 +2 24 -9.18 0 -0.131 -9.023 0 -0.391 +2 24 -9.023 0 -0.391 -8.711 0 -0.643 +2 24 -8.711 0 -0.643 -8.251 0 -0.885 +2 24 -8.251 0 -0.885 -7.649 0 -1.112 +2 24 -7.649 0 -1.112 -6.917 0 -1.319 +2 24 -6.917 0 -1.319 -6.065 0 -1.504 +2 24 -6.065 0 -1.504 -5.111 0 -1.663 +2 24 -5.111 0 -1.663 -4.068 0 -1.794 +2 24 -4.068 0 -1.794 -2.956 0 -1.894 +2 24 -2.956 0 -1.894 -1.794 0 -1.962 +2 24 -1.794 0 -1.962 -1 0 -1.985 +2 24 -1 0 -1.985 -1 0 -2.8 +2 24 -1 0 -2.8 1 0 -2.8 +2 24 1 0 -1.985 1 0 -2.8 +2 24 1 0 -1.985 1.796 0 -1.962 +2 24 1.796 0 -1.962 2.958 0 -1.894 +2 24 2.958 0 -1.894 4.07 0 -1.794 +2 24 4.07 0 -1.794 5.112 0 -1.663 +2 24 5.112 0 -1.663 6.067 0 -1.504 +2 24 6.067 0 -1.504 6.917 0 -1.319 +2 24 6.917 0 -1.319 7.65 0 -1.111 +2 24 7.65 0 -1.111 8.251 0 -0.884 +2 24 8.251 0 -0.884 8.711 0 -0.643 +2 24 8.711 0 -0.643 9.023 0 -0.39 +2 24 -1 0 -1.985 0 -20 0 +2 24 -1 0 -2.8 0 -20 -2.8 +2 24 1 0 -2.8 0 -20 -2.8 +2 24 1 0 -1.985 0 -20 0 +2 24 0 -20 0 0 -20 -2.8 +1 16 0 0 0 9.023 0 1.795 0 -1 0 -0.39 0 1.962 48\4-4disc.dat +4 16 1 0 -1.985 -1 0 -1.985 -1 0 -2.8 1 0 -2.8 +0 Original Line: 1 16 0 0 0 -9.023 0 1.795 0 -20 0 0.39 0 1.962 48\4-4con0.dat +3 16 -9.023 0 0.39 -8.711 0 0.643 0 -20 0 +3 16 -8.711 0 0.643 -8.251 0 0.884 0 -20 0 +3 16 -8.251 0 0.884 -7.649 0 1.111 0 -20 0 +3 16 -7.649 0 1.111 -6.916 0 1.319 0 -20 0 +3 16 -6.916 0 1.319 -6.066 0 1.504 0 -20 0 +3 16 -6.066 0 1.504 -5.111 0 1.663 0 -20 0 +3 16 -5.111 0 1.663 -4.069 0 1.794 0 -20 0 +3 16 -4.069 0 1.794 -2.957 0 1.894 0 -20 0 +3 16 -2.957 0 1.894 -1.795 0 1.962 0 -20 0 +3 16 -1.795 0 1.962 -0.601 0 1.996 0 -20 0 +3 16 -0.601 0 1.996 0.602 0 1.996 0 -20 0 +3 16 0.602 0 1.996 1.795 0 1.962 0 -20 0 +3 16 1.795 0 1.962 2.957 0 1.894 0 -20 0 +3 16 2.957 0 1.894 4.069 0 1.794 0 -20 0 +3 16 4.069 0 1.794 5.112 0 1.663 0 -20 0 +3 16 5.112 0 1.663 6.066 0 1.504 0 -20 0 +3 16 6.066 0 1.504 6.917 0 1.319 0 -20 0 +3 16 6.917 0 1.319 7.649 0 1.112 0 -20 0 +3 16 7.649 0 1.112 8.252 0 0.885 0 -20 0 +3 16 8.252 0 0.885 8.711 0 0.643 0 -20 0 +3 16 8.711 0 0.643 9.023 0 0.391 0 -20 0 +3 16 9.023 0 0.391 9.18 0 0.131 0 -20 0 +3 16 9.18 0 0.131 9.18 0 -0.131 0 -20 0 +3 16 9.18 0 -0.131 9.023 0 -0.39 0 -20 0 +3 16 9.023 0 -0.39 8.711 0 -0.643 0 -20 0 +3 16 8.711 0 -0.643 8.251 0 -0.884 0 -20 0 +3 16 8.251 0 -0.884 7.649 0 -1.111 0 -20 0 +3 16 7.649 0 -1.111 6.916 0 -1.319 0 -20 0 +3 16 6.916 0 -1.319 6.066 0 -1.504 0 -20 0 +3 16 6.066 0 -1.504 5.111 0 -1.663 0 -20 0 +3 16 5.111 0 -1.663 4.069 0 -1.794 0 -20 0 +3 16 4.069 0 -1.794 2.957 0 -1.894 0 -20 0 +3 16 2.957 0 -1.894 1.795 0 -1.962 0 -20 0 +3 16 1.795 0 -1.962 0.601 0 -1.996 0 -20 0 +3 16 0.601 0 -1.996 -0.602 0 -1.996 0 -20 0 +3 16 -0.602 0 -1.996 -1.795 0 -1.962 0 -20 0 +3 16 -1.795 0 -1.962 -2.957 0 -1.894 0 -20 0 +3 16 -2.957 0 -1.894 -4.069 0 -1.794 0 -20 0 +3 16 -4.069 0 -1.794 -5.112 0 -1.663 0 -20 0 +3 16 -5.112 0 -1.663 -6.066 0 -1.504 0 -20 0 +3 16 -6.066 0 -1.504 -6.917 0 -1.319 0 -20 0 +3 16 -6.917 0 -1.319 -7.649 0 -1.112 0 -20 0 +3 16 -7.649 0 -1.112 -8.252 0 -0.885 0 -20 0 +3 16 -8.252 0 -0.885 -8.711 0 -0.643 0 -20 0 +3 16 -8.711 0 -0.643 -9.023 0 -0.391 0 -20 0 +3 16 -9.023 0 -0.391 -9.18 0 -0.131 0 -20 0 +3 16 -9.18 0 -0.131 -9.18 0 0.131 0 -20 0 +3 16 -9.18 0 0.131 -9.023 0 0.39 0 -20 0 +5 24 0 -20 0 -9.023 0 0.39 -9.18 0 0.131 -8.711 0 0.643 +5 24 0 -20 0 -8.711 0 0.643 -9.023 0 0.39 -8.251 0 0.884 +5 24 0 -20 0 -8.251 0 0.884 -8.711 0 0.643 -7.649 0 1.111 +5 24 0 -20 0 -7.649 0 1.111 -8.251 0 0.884 -6.916 0 1.319 +5 24 0 -20 0 -6.916 0 1.319 -7.649 0 1.111 -6.066 0 1.504 +5 24 0 -20 0 -6.066 0 1.504 -6.916 0 1.319 -5.111 0 1.663 +5 24 0 -20 0 -5.111 0 1.663 -6.066 0 1.504 -4.069 0 1.794 +5 24 0 -20 0 -4.069 0 1.794 -5.111 0 1.663 -2.957 0 1.894 +5 24 0 -20 0 -2.957 0 1.894 -4.069 0 1.794 -1.795 0 1.962 +5 24 0 -20 0 -1.795 0 1.962 -2.957 0 1.894 -0.601 0 1.996 +5 24 0 -20 0 -0.601 0 1.996 -1.795 0 1.962 0.602 0 1.996 +5 24 0 -20 0 0.602 0 1.996 -0.601 0 1.996 1.795 0 1.962 +5 24 0 -20 0 1.795 0 1.962 0.602 0 1.996 2.957 0 1.894 +5 24 0 -20 0 2.957 0 1.894 1.795 0 1.962 4.069 0 1.794 +5 24 0 -20 0 4.069 0 1.794 2.957 0 1.894 5.112 0 1.663 +5 24 0 -20 0 5.112 0 1.663 4.069 0 1.794 6.066 0 1.504 +5 24 0 -20 0 6.066 0 1.504 5.112 0 1.663 6.917 0 1.319 +5 24 0 -20 0 6.917 0 1.319 6.066 0 1.504 7.649 0 1.112 +5 24 0 -20 0 7.649 0 1.112 6.917 0 1.319 8.252 0 0.885 +5 24 0 -20 0 8.252 0 0.885 7.649 0 1.112 8.711 0 0.643 +5 24 0 -20 0 8.711 0 0.643 8.252 0 0.885 9.023 0 0.391 +5 24 0 -20 0 9.023 0 0.391 8.711 0 0.643 9.18 0 0.131 +5 24 0 -20 0 9.18 0 0.131 9.023 0 0.391 9.18 0 -0.131 +5 24 0 -20 0 9.18 0 -0.131 9.18 0 0.131 9.023 0 -0.39 +5 24 0 -20 0 9.023 0 -0.39 9.18 0 -0.131 8.711 0 -0.643 +5 24 0 -20 0 8.711 0 -0.643 9.023 0 -0.39 8.251 0 -0.884 +5 24 0 -20 0 8.251 0 -0.884 8.711 0 -0.643 7.649 0 -1.111 +5 24 0 -20 0 7.649 0 -1.111 8.251 0 -0.884 6.916 0 -1.319 +5 24 0 -20 0 6.916 0 -1.319 7.649 0 -1.111 6.066 0 -1.504 +5 24 0 -20 0 6.066 0 -1.504 6.916 0 -1.319 5.111 0 -1.663 +5 24 0 -20 0 5.111 0 -1.663 6.066 0 -1.504 4.069 0 -1.794 +5 24 0 -20 0 4.069 0 -1.794 5.111 0 -1.663 2.957 0 -1.894 +5 24 0 -20 0 2.957 0 -1.894 4.069 0 -1.794 1.795 0 -1.962 +5 24 0 -20 0 1.795 0 -1.962 2.957 0 -1.894 0.601 0 -1.996 +5 24 0 -20 0 0.601 0 -1.996 1.795 0 -1.962 -0.602 0 -1.996 +5 24 0 -20 0 -0.602 0 -1.996 0.601 0 -1.996 -1.795 0 -1.962 +5 24 0 -20 0 -1.795 0 -1.962 -0.602 0 -1.996 -2.957 0 -1.894 +5 24 0 -20 0 -2.957 0 -1.894 -1.795 0 -1.962 -4.069 0 -1.794 +5 24 0 -20 0 -4.069 0 -1.794 -2.957 0 -1.894 -5.112 0 -1.663 +5 24 0 -20 0 -5.112 0 -1.663 -4.069 0 -1.794 -6.066 0 -1.504 +5 24 0 -20 0 -6.066 0 -1.504 -5.112 0 -1.663 -6.917 0 -1.319 +5 24 0 -20 0 -6.917 0 -1.319 -6.066 0 -1.504 -7.649 0 -1.112 +5 24 0 -20 0 -7.649 0 -1.112 -6.917 0 -1.319 -8.252 0 -0.885 +5 24 0 -20 0 -8.252 0 -0.885 -7.649 0 -1.112 -8.711 0 -0.643 +5 24 0 -20 0 -8.711 0 -0.643 -8.252 0 -0.885 -9.023 0 -0.391 +5 24 0 -20 0 -9.023 0 -0.391 -8.711 0 -0.643 -9.18 0 -0.131 +5 24 0 -20 0 -9.18 0 -0.131 -9.023 0 -0.391 -9.18 0 0.131 +5 24 0 -20 0 -9.18 0 0.131 -9.18 0 -0.131 -9.023 0 0.39 + +4 16 0 -20 0 1 0 -1.985 1 0 -2.8 0 -20 -2.8 +4 16 -1 0 -1.985 0 -20 0 0 -20 -2.8 -1 0 -2.8 +3 16 1 0 -2.8 -1 0 -2.8 0 -20 -2.8 +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS06.dat b/ImportLDraw/lsynth/LS06.dat new file mode 100755 index 0000000000000000000000000000000000000000..ca6f6c1ea0a96582dc528b1146e161ce661e9116 --- /dev/null +++ b/ImportLDraw/lsynth/LS06.dat @@ -0,0 +1,184 @@ +0 LSynth Constraint Part - Type 6 - "Power Functions Cable" +0 Name: LS06.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2008-03-17 [Holly-Wood] Initial version + +2 24 0 0 -1.227 0.228 0 -1.455 +2 24 0.228 0 -1.455 0.859 0 -1.716 +2 24 0.858 0 -1.716 0.858 0 -2.45 +2 24 0.858 0 -2.45 1.541 0 -2.45 +2 24 1.542 0 -1.716 1.542 0 -2.45 +2 24 1.542 0 -1.716 2.172 0 -1.455 +2 24 2.45 0 -1.177 2.172 0 -1.455 +2 24 2.728 0 -1.455 2.45 0 -1.177 +2 24 2.728 0 -1.455 3.359 0 -1.716 +2 24 3.358 0 -1.716 3.358 0 -2.45 +2 24 3.358 0 -2.45 4.041 0 -2.45 +2 24 4.042 0 -1.716 4.042 0 -2.45 +2 24 4.042 0 -1.716 4.672 0 -1.455 +2 24 4.672 0 -1.455 5.155 0 -0.972 +2 24 5.155 0 -0.972 5.416 0 -0.341 +2 24 5.416 0 -0.341 5.416 0 0.342 +2 24 5.416 0 0.342 5.155 0 0.972 +2 24 5.155 0 0.972 4.672 0 1.455 +2 24 4.672 0 1.455 4.041 0 1.716 +2 24 4.041 0 1.716 3.358 0 1.716 +2 24 3.358 0 1.716 2.728 0 1.455 +2 24 2.728 0 1.455 2.45 0 1.177 +2 24 2.172 0 1.455 2.45 0 1.177 +2 24 2.172 0 1.455 1.541 0 1.716 +2 24 1.541 0 1.716 0.858 0 1.716 +2 24 0.858 0 1.716 0.228 0 1.455 +2 24 0.228 0 1.455 0 0 1.227 +2 24 -0.228 0 1.455 0 0 1.227 +2 24 -0.228 0 1.455 -0.859 0 1.716 +2 24 -0.859 0 1.716 -1.542 0 1.716 +2 24 -1.542 0 1.716 -2.172 0 1.455 +2 24 -2.172 0 1.455 -2.45 0 1.177 +2 24 -2.728 0 1.455 -2.45 0 1.177 +2 24 -2.728 0 1.455 -3.359 0 1.716 +2 24 -3.359 0 1.716 -4.042 0 1.716 +2 24 -4.042 0 1.716 -4.672 0 1.455 +2 24 -4.672 0 1.455 -5.155 0 0.972 +2 24 -5.155 0 0.972 -5.416 0 0.341 +2 24 -5.416 0 0.341 -5.416 0 -0.342 +2 24 -5.416 0 -0.342 -5.155 0 -0.972 +2 24 -5.155 0 -0.972 -4.672 0 -1.455 +2 24 -4.672 0 -1.455 -4.041 0 -1.716 +2 24 -4.042 0 -1.716 -4.042 0 -2.45 +2 24 -4.042 0 -2.45 -3.359 0 -2.45 +2 24 -3.358 0 -1.716 -3.358 0 -2.45 +2 24 -3.358 0 -1.716 -2.728 0 -1.455 +2 24 -2.728 0 -1.455 -2.45 0 -1.177 +2 24 -2.45 0 -1.177 -2.172 0 -1.455 +2 24 -2.172 0 -1.455 -1.541 0 -1.716 +2 24 -1.542 0 -1.716 -1.542 0 -2.45 +2 24 -1.542 0 -2.45 -0.859 0 -2.45 +2 24 -0.858 0 -1.716 -0.858 0 -2.45 +2 24 -0.858 0 -1.716 -0.228 0 -1.455 +2 24 -0.228 0 -1.455 0 0 -1.227 +2 24 0 -2.103 -0.802 0 0 -1.227 +2 24 0 -3.608 -0.238 0 -2.103 -0.802 +2 24 0 -3.608 -0.238 0 -3.608 0.239 +2 24 0 -3.608 0.239 0 -2.103 0.802 +2 24 0 -2.103 0.802 0 0 1.227 +2 24 -2.45 -1.691 -0.835 -2.45 0 -1.177 +2 24 -2.45 -3.257 -0.249 -2.45 -1.691 -0.835 +2 24 -2.45 -3.257 -0.249 -2.45 -3.257 0.249 +2 24 -2.45 -3.257 0.249 -2.45 -1.691 0.835 +2 24 -2.45 -1.691 0.835 -2.45 0 1.177 +2 24 2.45 -1.691 -0.835 2.45 0 -1.177 +2 24 2.45 -3.257 -0.249 2.45 -1.691 -0.835 +2 24 2.45 -3.257 -0.249 2.45 -3.257 0.249 +2 24 2.45 -3.257 0.249 2.45 -1.691 0.835 +2 24 2.45 -1.691 0.835 2.45 0 1.177 +2 24 -4.041 0 -1.716 -3.7 -12 0 +2 24 -4.042 0 -2.45 -3.7 -12 -2.45 +2 24 -3.358 0 -2.45 -3.7 -12 -2.45 +2 24 -3.359 0 -1.716 -3.7 -12 0 +2 24 -3.7 -12 0 -3.7 -12 -2.45 +2 24 -1.541 0 -1.716 -1.2 -12 0 +2 24 -1.542 0 -2.45 -1.2 -12 -2.45 +2 24 -0.858 0 -2.45 -1.2 -12 -2.45 +2 24 -0.859 0 -1.716 -1.2 -12 0 +2 24 -1.2 -12 0 -1.2 -12 -2.45 +2 24 0.859 0 -1.716 1.2 -12 0 +2 24 0.858 0 -2.45 1.2 -12 -2.45 +2 24 1.542 0 -2.45 1.2 -12 -2.45 +2 24 1.541 0 -1.716 1.2 -12 0 +2 24 1.2 -12 0 1.2 -12 -2.45 +2 24 3.359 0 -1.716 3.7 -12 0 +2 24 3.358 0 -2.45 3.7 -12 -2.45 +2 24 4.042 0 -2.45 3.7 -12 -2.45 +2 24 4.041 0 -1.716 3.7 -12 0 +2 24 3.7 -12 0 3.7 -12 -2.45 + +3 16 -3.7 0 0 -2.45 0 -1.177 -2.45 0 1.177 +3 16 -3.7 0 0 -2.45 0 1.177 -2.728 0 1.455 +3 16 -3.7 0 0 -2.728 0 1.455 -3.359 0 1.716 +3 16 -3.7 0 0 -3.359 0 1.716 -4.042 0 1.716 +3 16 -3.7 0 0 -4.042 0 1.716 -4.672 0 1.455 +3 16 -3.7 0 0 -4.672 0 1.455 -5.155 0 0.972 +3 16 -3.7 0 0 -5.155 0 0.972 -5.416 0 0.341 +3 16 -3.7 0 0 -5.416 0 0.341 -5.416 0 -0.342 +3 16 -3.7 0 0 -5.416 0 -0.342 -5.155 0 -0.972 +3 16 -3.7 0 0 -5.155 0 -0.972 -4.672 0 -1.455 +3 16 -3.7 0 0 -4.672 0 -1.455 -4.041 0 -1.716 +3 16 -3.7 0 0 -4.041 0 -1.716 -3.358 0 -1.716 +3 16 -3.7 0 0 -3.358 0 -1.716 -2.728 0 -1.455 +3 16 -2.728 0 -1.455 -2.45 0 -1.177 -3.7 0 0 +3 16 -2.45 0 1.177 -2.45 0 -1.177 -1.2 0 0 +3 16 -1.2 0 0 -2.45 0 -1.177 -2.172 0 -1.455 +3 16 -1.2 0 0 -2.172 0 -1.455 -1.541 0 -1.716 +3 16 -1.2 0 0 -1.541 0 -1.716 -0.858 0 -1.716 +3 16 -1.2 0 0 -0.858 0 -1.716 -0.228 0 -1.455 +3 16 -1.2 0 0 -0.228 0 -1.455 0 0 -1.227 +3 16 -1.2 0 0 0 0 -1.227 0 0 1.227 +3 16 -1.2 0 0 0 0 1.227 -0.228 0 1.455 +3 16 -1.2 0 0 -0.228 0 1.455 -0.859 0 1.716 +3 16 -1.2 0 0 -0.859 0 1.716 -1.542 0 1.716 +3 16 -1.2 0 0 -1.542 0 1.716 -2.172 0 1.455 +3 16 -2.172 0 1.455 -2.45 0 1.177 -1.2 0 0 + +3 16 0 0 1.227 0 0 -1.227 1.2 0 0 +3 16 0 0 -1.227 0.228 0 -1.455 1.2 0 0 +3 16 1.2 0 0 0.228 0 -1.455 0.859 0 -1.716 +3 16 1.2 0 0 0.859 0 -1.716 1.542 0 -1.716 +3 16 1.2 0 0 1.542 0 -1.716 2.172 0 -1.455 +3 16 2.172 0 -1.455 2.45 0 -1.177 1.2 0 0 +3 16 1.2 0 0 2.45 0 -1.177 2.45 0 1.177 +3 16 1.2 0 0 2.45 0 1.177 2.172 0 1.455 +3 16 1.2 0 0 2.172 0 1.455 1.541 0 1.716 +3 16 1.2 0 0 1.541 0 1.716 0.858 0 1.716 +3 16 1.2 0 0 0.858 0 1.716 0.228 0 1.455 +3 16 0.228 0 1.455 0 0 1.227 1.2 0 0 + +3 16 2.45 0 1.177 2.45 0 -1.177 3.7 0 0 +3 16 3.7 0 0 2.45 0 -1.177 2.728 0 -1.455 +3 16 3.7 0 0 2.728 0 -1.455 3.359 0 -1.716 +3 16 3.7 0 0 3.359 0 -1.716 4.042 0 -1.716 +3 16 3.7 0 0 4.042 0 -1.716 4.672 0 -1.455 +3 16 3.7 0 0 4.672 0 -1.455 5.155 0 -0.972 +3 16 3.7 0 0 5.155 0 -0.972 5.416 0 -0.341 +3 16 3.7 0 0 5.416 0 -0.341 5.416 0 0.342 +3 16 3.7 0 0 5.416 0 0.342 5.155 0 0.972 +3 16 3.7 0 0 5.155 0 0.972 4.672 0 1.455 +3 16 3.7 0 0 4.672 0 1.455 4.041 0 1.716 +3 16 3.7 0 0 4.041 0 1.716 3.358 0 1.716 +3 16 3.7 0 0 3.358 0 1.716 2.728 0 1.455 +3 16 2.728 0 1.455 2.45 0 1.177 3.7 0 0 + +4 16 -3.359 0 -1.716 -4.042 0 -1.716 -4.042 0 -2.45 -3.359 0 -2.45 +4 16 -3.7 -12 0 -3.359 0 -1.716 -3.359 0 -2.45 -3.7 -12 -2.45 +4 16 -4.042 0 -1.716 -3.7 -12 0 -3.7 -12 -2.45 -4.042 0 -2.45 +3 16 -3.359 0 -2.45 -4.042 0 -2.45 -3.7 -12 -2.45 + +4 16 -0.859 0 -1.716 -1.542 0 -1.716 -1.542 0 -2.45 -0.859 0 -2.45 +4 16 -1.2 -12 0 -0.859 0 -1.716 -0.859 0 -2.45 -1.2 -12 -2.45 +4 16 -1.542 0 -1.716 -1.2 -12 0 -1.2 -12 -2.45 -1.542 0 -2.45 +3 16 -0.859 0 -2.45 -1.542 0 -2.45 -1.2 -12 -2.45 + +4 16 1.541 0 -1.716 0.858 0 -1.716 0.858 0 -2.45 1.541 0 -2.45 +4 16 1.2 -12 0 1.541 0 -1.716 1.541 0 -2.45 1.2 -12 -2.45 +4 16 0.858 0 -1.716 1.2 -12 0 1.2 -12 -2.45 0.858 0 -2.45 +3 16 1.541 0 -2.45 0.858 0 -2.45 1.2 -12 -2.45 + +4 16 4.041 0 -1.716 3.358 0 -1.716 3.358 0 -2.45 4.041 0 -2.45 +4 16 3.7 -12 0 4.041 0 -1.716 4.041 0 -2.45 3.7 -12 -2.45 +4 16 3.358 0 -1.716 3.7 -12 0 3.7 -12 -2.45 3.358 0 -2.45 +3 16 4.041 0 -2.45 3.358 0 -2.45 3.7 -12 -2.45 + +1 16 -3.7 0 0 -1.716 0 0.341 0 -12 0 0.341 0 1.716 4-4con0.dat +1 16 -1.2 0 0 -1.716 0 0.341 0 -12 0 0.341 0 1.716 4-4con0.dat +1 16 1.2 0 0 -1.716 0 0.341 0 -12 0 0.341 0 1.716 4-4con0.dat +1 16 3.7 0 0 -1.716 0 0.341 0 -12 0 0.341 0 1.716 4-4con0.dat +0 diff --git a/ImportLDraw/lsynth/LS07.dat b/ImportLDraw/lsynth/LS07.dat new file mode 100755 index 0000000000000000000000000000000000000000..6b6a7052058cd90940045edfb40eac3a4b118def --- /dev/null +++ b/ImportLDraw/lsynth/LS07.dat @@ -0,0 +1,98 @@ +0 LSynth Constraint Part - Type 7 - "RCX Cable" +0 Name: LS07.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2009-05-14 [Holly-Wood] Initial version + +2 24 0.228 0 -1.455 -0.05 0 -1.177 +2 24 0.228 0 -1.455 0.859 0 -1.716 +2 24 0.858 0 -1.716 0.858 0 -2.45 +2 24 0.858 0 -2.45 1.541 0 -2.45 +2 24 1.542 0 -1.716 1.542 0 -2.45 +2 24 1.542 0 -1.716 2.172 0 -1.455 +2 24 2.172 0 -1.455 2.655 0 -0.972 +2 24 2.655 0 -0.972 2.916 0 -0.341 +2 24 2.916 0 -0.341 2.916 0 0.342 +2 24 2.916 0 0.342 2.655 0 0.972 +2 24 2.655 0 0.972 2.172 0 1.455 +2 24 2.172 0 1.455 1.541 0 1.716 +2 24 1.541 0 1.716 0.858 0 1.716 +2 24 0.858 0 1.716 0.228 0 1.455 +2 24 0.228 0 1.455 -0.05 0 1.177 +2 24 -0.228 0 1.455 0.05 0 1.177 +2 24 -0.228 0 1.455 -0.859 0 1.716 +2 24 -0.859 0 1.716 -1.542 0 1.716 +2 24 -1.542 0 1.716 -2.172 0 1.455 +2 24 -2.172 0 1.455 -2.655 0 0.972 +2 24 -2.655 0 0.972 -2.916 0 0.341 +2 24 -2.916 0 0.341 -2.916 0 -0.342 +2 24 -2.916 0 -0.342 -2.655 0 -0.972 +2 24 -2.655 0 -0.972 -2.172 0 -1.455 +2 24 -2.172 0 -1.455 -1.541 0 -1.716 +2 24 -1.542 0 -1.716 -1.542 0 -2.45 +2 24 -1.542 0 -2.45 -0.859 0 -2.45 +2 24 -0.858 0 -1.716 -0.858 0 -2.45 +2 24 -0.858 0 -1.716 -0.228 0 -1.455 +2 24 -0.228 0 -1.455 0.05 0 -1.177 +2 24 0 -2.103 -0.802 0 0 -1.227 +2 24 0 -3.608 -0.238 0 -2.103 -0.802 +2 24 0 -3.608 -0.238 0 -3.608 0.239 +2 24 0 -3.608 0.239 0 -2.103 0.802 +2 24 0 -2.103 0.802 0 0 1.227 +2 24 -1.541 0 -1.716 -1.2 -12 0 +2 24 -1.542 0 -2.45 -1.2 -12 -2.45 +2 24 -0.858 0 -2.45 -1.2 -12 -2.45 +2 24 -0.859 0 -1.716 -1.2 -12 0 +2 24 -1.2 -12 0 -1.2 -12 -2.45 +2 24 0.859 0 -1.716 1.2 -12 0 +2 24 0.858 0 -2.45 1.2 -12 -2.45 +2 24 1.542 0 -2.45 1.2 -12 -2.45 +2 24 1.541 0 -1.716 1.2 -12 0 +2 24 1.2 -12 0 1.2 -12 -2.45 +3 16 -1.2 0 0 0.05 0 -1.177 0.05 0 1.177 +3 16 -1.2 0 0 0.05 0 1.177 -0.228 0 1.455 +3 16 -1.2 0 0 -0.228 0 1.455 -0.859 0 1.716 +3 16 -1.2 0 0 -0.859 0 1.716 -1.542 0 1.716 +3 16 -1.2 0 0 -1.542 0 1.716 -2.172 0 1.455 +3 16 -1.2 0 0 -2.172 0 1.455 -2.655 0 0.972 +3 16 -1.2 0 0 -2.655 0 0.972 -2.916 0 0.341 +3 16 -1.2 0 0 -2.916 0 0.341 -2.916 0 -0.342 +3 16 -1.2 0 0 -2.916 0 -0.342 -2.655 0 -0.972 +3 16 -1.2 0 0 -2.655 0 -0.972 -2.172 0 -1.455 +3 16 -1.2 0 0 -2.172 0 -1.455 -1.541 0 -1.716 +3 16 -1.2 0 0 -1.541 0 -1.716 -0.858 0 -1.716 +3 16 -1.2 0 0 -0.858 0 -1.716 -0.228 0 -1.455 +3 16 -0.228 0 -1.455 0.05 0 -1.177 -1.2 0 0 +3 16 -0.05 0 1.177 -0.05 0 -1.177 1.2 0 0 +3 16 1.2 0 0 -0.05 0 -1.177 0.228 0 -1.455 +3 16 1.2 0 0 0.228 0 -1.455 0.859 0 -1.716 +3 16 1.2 0 0 0.859 0 -1.716 1.542 0 -1.716 +3 16 1.2 0 0 1.542 0 -1.716 2.172 0 -1.455 +3 16 1.2 0 0 2.172 0 -1.455 2.655 0 -0.972 +3 16 1.2 0 0 2.655 0 -0.972 2.916 0 -0.341 +3 16 1.2 0 0 2.916 0 -0.341 2.916 0 0.342 +3 16 1.2 0 0 2.916 0 0.342 2.655 0 0.972 +3 16 1.2 0 0 2.655 0 0.972 2.172 0 1.455 +3 16 1.2 0 0 2.172 0 1.455 1.541 0 1.716 +3 16 1.2 0 0 1.541 0 1.716 0.858 0 1.716 +3 16 1.2 0 0 0.858 0 1.716 0.228 0 1.455 +3 16 0.228 0 1.455 -0.05 0 1.177 1.2 0 0 +4 16 -0.859 0 -1.716 -1.542 0 -1.716 -1.542 0 -2.45 -0.859 0 -2.45 +4 16 -1.2 -12 0 -0.859 0 -1.716 -0.859 0 -2.45 -1.2 -12 -2.45 +4 16 -1.542 0 -1.716 -1.2 -12 0 -1.2 -12 -2.45 -1.542 0 -2.45 +3 16 -0.859 0 -2.45 -1.542 0 -2.45 -1.2 -12 -2.45 +4 16 1.541 0 -1.716 0.858 0 -1.716 0.858 0 -2.45 1.541 0 -2.45 +4 16 1.2 -12 0 1.541 0 -1.716 1.541 0 -2.45 1.2 -12 -2.45 +4 16 0.858 0 -1.716 1.2 -12 0 1.2 -12 -2.45 0.858 0 -2.45 +3 16 1.541 0 -2.45 0.858 0 -2.45 1.2 -12 -2.45 +1 16 -1.2 0 0 -1.716 0 0.341 0 -12 0 0.341 0 1.716 4-4con0.dat +1 16 1.2 0 0 -1.716 0 0.341 0 -12 0 0.341 0 1.716 4-4con0.dat +0 diff --git a/ImportLDraw/lsynth/LS08.dat b/ImportLDraw/lsynth/LS08.dat new file mode 100755 index 0000000000000000000000000000000000000000..f01fcd0629df33c9ebd109bbca35aa58e3a35237 --- /dev/null +++ b/ImportLDraw/lsynth/LS08.dat @@ -0,0 +1,51 @@ +0 LSynth Constraint Part - Type 8 - "Minifig Chain" +0 Name: LS08.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis +0 !HISTORY 2008-03-17 [Holly-Wood] Initial version + +1 16 0 0 -3 0 0 1 0 -8 0 -1 0 0 4-4cyli.dat +1 16 0 0 3 0 0 1 0 -8 0 -1 0 0 4-4cyli.dat +1 16 0 0 0 0 3 0 0 0 3 3 0 0 t04q3333.dat +1 16 0 0 0 0 -3 0 0 0 3 -3 0 0 t04q3333.dat +1 16 0 -8 0 0 3 0 0 0 -3 -3 0 0 t04q3333.dat +1 16 0 -8 0 0 -3 0 0 0 -3 3 0 0 t04q3333.dat +2 24 0 -8 -4 0.383 0 -3.924 +2 24 0.383 0 -3.924 0.383 0 -8 +2 24 0.383 0 -8 0 -8 -4 +2 24 0 -8 -4 -0.383 0 -3.924 +2 24 -0.383 0 -3.924 -0.383 0 -8 +2 24 -0.383 0 -8 0 -8 -4 +2 24 0.383 0 -3.924 0 0 -4 +2 24 -0.383 0 -3.924 0 0 -4 +2 24 -0.383 0 -8 0.383 0 -8 +3 16 0 -8 -4 0.383 0 -3.924 0.383 0 -8 +3 16 -0.383 0 -8 -0.383 0 -3.924 0 -8 -4 +3 16 0.383 0 -8 -0.383 0 -8 0 -8 -4 +3 16 0.383 0 -8 0.383 0 -3.924 0 0 -4 +3 16 -0.383 0 -8 0.383 0 -8 0 0 -4 +3 16 0 0 -4 -0.383 0 -3.924 -0.383 0 -8 +2 24 0 0 2 0 0 -2 +2 24 4 0 0 -4 0 0 +1 16 0 0 0 0 0 -2 0 2 0 2 0 0 4-4edge.dat +1 16 0 0 0 0 0 -4 0 4 0 4 0 0 4-4edge.dat +1 16 0 0 -3 0 0 1 0 -8 0 -1 0 0 4-4edge.dat +1 16 0 0 3 0 0 1 0 -8 0 -1 0 0 4-4edge.dat +1 16 0 0 0 0 0 -0.2 0 0.2 0 0.2 0 0 8-8sphe.dat +1 34 0 0 0 0 0 2 0 2 0 2 0 0 4-4ring1.dat +2 24 0 -8 2 0 -8 -2 +2 24 4 -8 0 -4 -8 0 +1 16 0 -8 0 0 0 -2 0 2 0 2 0 0 4-4edge.dat +1 16 0 -8 0 0 0 -4 0 4 0 4 0 0 4-4edge.dat +1 16 0 -8 -3 0 0 1 0 -8 0 -1 0 0 4-4edge.dat +1 16 0 -8 3 0 0 1 0 -8 0 -1 0 0 4-4edge.dat +1 16 0 -8 0 0 0 -0.2 0 0.2 0 0.2 0 0 8-8sphe.dat +1 36 0 -8 0 0 0 2 0 2 0 2 0 0 4-4ring1.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS09.dat b/ImportLDraw/lsynth/LS09.dat new file mode 100755 index 0000000000000000000000000000000000000000..723fd5b4a65ddc181b7c4865f7544cc000218d51 --- /dev/null +++ b/ImportLDraw/lsynth/LS09.dat @@ -0,0 +1,40 @@ +0 LSynth Constraint Part - Type 9 - "String Minifig Grip" +0 Name: LS09.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2009-06-25 [Holly-Wood] Initial version + +1 16 0 0 0 1.5 0 0 0 -20 0 0 0 1.5 4-4cyli.dat +1 16 0 0 0 -1.5 0 0 0 1.5 0 0 0 1.5 4-8sphe.dat +1 16 0 -20 0 -1.5 0 0 0 -1.5 0 0 0 -1.5 4-8sphe.dat +2 24 1.5 0 0 6 0 0 +2 24 -6 0 0 -1.5 0 0 +2 24 0 0 6 0 0 1.5 +2 24 1.5 -20 0 6 -20 0 +2 24 -6 -20 0 -1.5 -20 0 +2 24 0 -20 -1.5 0 -20 -6 +2 24 0 -20 6 0 -20 1.5 +2 24 -0.57405 0 -1.38585 0 -20 -1.5 +2 24 0.57405 0 -1.38585 0 -20 -1.5 +2 24 0 -20 -1.5 0 0 -6 +2 24 -0.57405 0 -1.38585 0 0 -6 +2 24 0.57405 0 -1.38585 0 0 -6 +1 16 0 0 0 3 0 0 0 1 0 0 0 3 4-4edge.dat +1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 -20 0 3 0 0 0 1 0 0 0 3 4-4edge.dat +1 16 0 -20 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +3 16 -0.57405 0 -1.38585 0 -20 -1.5 0 0 -6 +3 16 0 0 -6 0 -20 -1.5 0.57405 0 -1.38585 +3 16 0.57405 0 -1.38585 0 0 -1.5 0 0 -6 +3 16 0 0 -6 0 0 -1.5 -0.57405 0 -1.38585 +1 34 0 0 0 3 0 0 0 3 0 0 0 3 4-4ring1.dat +1 36 0 -20 0 3 0 0 0 3 0 0 0 3 4-4ring1.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS10.dat b/ImportLDraw/lsynth/LS10.dat new file mode 100755 index 0000000000000000000000000000000000000000..7cadff1628bdf301608ffaa494401f298d9f87f5 --- /dev/null +++ b/ImportLDraw/lsynth/LS10.dat @@ -0,0 +1,25 @@ +0 ~LSynth Electric Cable Segment +0 Name: LS10.dat +0 Author: William Howard, Kevin Clague [kclague] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth + +0 !HISTORY 2006-10-14 [WilliamH] Place holder part, can be replaced as needed +0 !HISTORY 2006-11-25 [kclague] Added endcaps to cover for cable twist +0 !HISTORY 2007-04-03 [Holly-Wood] BFCed, fixed header, rounded + +1 16 -0.05 1 1.8 1.768 0 1.768 0 -1 0 -1.768 0 1.768 3-4cyli.dat +1 16 -0.05 1 -1.75 -1.768 0 -1.768 0 -1 0 1.768 0 -1.768 3-4cyli.dat +2 24 -1.818 0 0.032 -1.818 1 0.032 +2 24 1.718 0 0.032 1.718 1 0.032 +1 16 -0.05 1 1.8 1.768 0 1.768 0 -1 0 -1.768 0 1.768 3-4disc.dat +1 16 -0.05 1 -1.75 -1.768 0 -1.768 0 -1 0 1.768 0 -1.768 3-4disc.dat +4 16 -0.068 1 -1.818 1.718 1 0.032 -0.068 1 1.818 -1.818 1 0.032 +1 16 -0.05 0 1.8 1.768 0 1.768 0 1 0 -1.768 0 1.768 3-4disc.dat +1 16 -0.05 0 -1.75 -1.768 0 -1.768 0 1 0 1.768 0 -1.768 3-4disc.dat +4 16 -1.818 0 0.032 -0.068 0 1.818 1.718 0 0.032 -0.068 0 -1.818 +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS100.dat b/ImportLDraw/lsynth/LS100.dat new file mode 100755 index 0000000000000000000000000000000000000000..fd58d383de6398aea47f42ef1a2a32e2e7478dea --- /dev/null +++ b/ImportLDraw/lsynth/LS100.dat @@ -0,0 +1,52 @@ +0 LSynth Constraint Part - Type 10 - "HOSE_FLEXIBLE_8.5L" +0 Name: LS100.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2010-02-17 [Holly-Wood] Initial version + +1 16 0 2 0 2 0 0 0 1 0 0 0 2 4-4edge.dat +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 -5 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 -7 0 2 0 0 0 1 0 0 0 2 4-4edge.dat + +1 16 0 2 0 -2 0 0 0 -1 0 0 0 -2 4-4disc.dat +1 16 0 0 0 -2 0 0 0 2 0 0 0 2 4-4con1.dat +1 16 0 0 0 4 0 0 0 -5 0 0 0 4 4-4cyli.dat +1 16 0 -5 0 -2 0 0 0 -2 0 0 0 -2 4-4con1.dat +1 16 0 -7 0 2 0 0 0 1 0 0 0 2 4-4disc.dat + +3 16 -0.574 0 -3.886 0 -5 -4 0 0 -7 +3 16 0 0 -7 0 -5 -4 0.574 0 -3.886 +3 16 0.574 0 -3.886 0 0 -4 0 0 -7 +3 16 0 0 -7 0 0 -4 -0.574 0 -3.886 + +2 24 -0.574 0 -3.886 0 -5 -4 +2 24 0.574 0 -3.886 0 -5 -4 +2 24 0 -5 -4 0 0 -7 +2 24 -0.574 0 -3.886 0 0 -7 +2 24 0.574 0 -3.886 0 0 -7 + +2 24 4 0 0 7 0 0 +2 24 -7 0 0 -4 0 0 +2 24 0 0 7 0 0 4 +2 24 4 -5 0 7 -5 0 +2 24 -7 -5 0 -4 -5 0 +2 24 0 -5 -4 0 -5 -7 +2 24 0 -5 7 0 -5 4 + +1 16 0 0 0 5.25 0 0 0 1 0 0 0 5.25 4-4edge.dat +1 16 0 0 0 7 0 0 0 1 0 0 0 7 4-4edge.dat +1 16 0 -5 0 5.25 0 0 0 1 0 0 0 5.25 4-4edge.dat +1 16 0 -5 0 7 0 0 0 1 0 0 0 7 4-4edge.dat + +1 34 0 0 0 1.75 0 0 0 1 0 0 0 1.75 4-4ring3.dat +1 36 0 -5 0 1.75 0 0 0 1 0 0 0 1.75 4-4ring3.dat +0 // diff --git a/ImportLDraw/lsynth/LS101.dat b/ImportLDraw/lsynth/LS101.dat new file mode 100755 index 0000000000000000000000000000000000000000..202ee37b9d44f9c3f61907eb5d12dbf25a29cc70 --- /dev/null +++ b/ImportLDraw/lsynth/LS101.dat @@ -0,0 +1,48 @@ +0 LSynth Constraint Part - Type 11 - "HOSE_FLEXIBLE_12L" +0 Name: LS101.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2010-02-17 [Holly-Wood] Initial version + +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 -20 0 4 0 0 0 1 0 0 0 4 4-4edge.dat + +1 16 0 0 0 4 0 0 0 -20 0 0 0 4 4-4cyli.dat +1 16 0 0 0 -4 0 0 0 3 0 0 0 4 4-8sphe.dat +1 16 0 -20 0 -4 0 0 0 -3 0 0 0 -4 4-8sphe.dat + +2 24 -0.574 0 -3.886 0 -20 -4 +2 24 0.574 0 -3.886 0 -20 -4 +2 24 0 -20 -4 0 0 -9 +2 24 -0.574 0 -3.886 0 0 -9 +2 24 0.574 0 -3.886 0 0 -9 + +3 16 -0.574 0 -3.886 0 -20 -4 0 0 -9 +3 16 0 0 -9 0 -20 -4 0.574 0 -3.886 +3 16 0.574 0 -3.886 0 0 -4 0 0 -9 +3 16 0 0 -9 0 0 -4 -0.574 0 -3.886 + +2 24 4 0 0 9 0 0 +2 24 -9 0 0 -4 0 0 +2 24 0 0 9 0 0 4 +2 24 4 -20 0 9 -20 0 +2 24 -9 -20 0 -4 -20 0 +2 24 0 -20 -4 0 -20 -9 +2 24 0 -20 9 0 -20 4 + +1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 0 0 9 0 0 0 1 0 0 0 9 4-4edge.dat +1 16 0 -20 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 -20 0 9 0 0 0 1 0 0 0 9 4-4edge.dat + +1 34 0 0 0 3 0 0 0 1 0 0 0 3 4-4ring2.dat +1 36 0 -20 0 3 0 0 0 1 0 0 0 3 4-4ring2.dat +0 // \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS102.dat b/ImportLDraw/lsynth/LS102.dat new file mode 100755 index 0000000000000000000000000000000000000000..f31023ffc2dc74e715f9ab226fa30bbaff89dbb0 --- /dev/null +++ b/ImportLDraw/lsynth/LS102.dat @@ -0,0 +1,48 @@ +0 LSynth Constraint Part - Type 12 - "HOSE_FLEXIBLE_19L" +0 Name: LS102.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth, RCX, ELECTRIC, CABLE, NXT, FIBER, OPTIC, FLEX, SYSTEM, FLEXIBLE, AXLE, MINIFIG, +0 !KEYWORDS PNEUMATIC, RIBBED, RUBBER, STRING, CHAIN, BAND, BELT, PLASTIC, TREAD, INSIDE, OUTSIDE, +0 !KEYWORDS CROSS, SHOW, HIDE, Synthesis + +0 !HISTORY 2010-02-17 [Holly-Wood] Initial version + +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 -12 0 4 0 0 0 1 0 0 0 4 4-4edge.dat + +1 16 0 0 0 4 0 0 0 -12 0 0 0 4 4-4cyli.dat +1 16 0 0 0 -4 0 0 0 3 0 0 0 4 4-8sphe.dat +1 16 0 -12 0 -4 0 0 0 -3 0 0 0 -4 4-8sphe.dat + +2 24 -0.574 0 -3.886 0 -12 -4 +2 24 0.574 0 -3.886 0 -12 -4 +2 24 0 -12 -4 0 0 -9 +2 24 -0.574 0 -3.886 0 0 -9 +2 24 0.574 0 -3.886 0 0 -9 + +3 16 -0.574 0 -3.886 0 -12 -4 0 0 -9 +3 16 0 0 -9 0 -12 -4 0.574 0 -3.886 +3 16 0.574 0 -3.886 0 0 -4 0 0 -9 +3 16 0 0 -9 0 0 -4 -0.574 0 -3.886 + +2 24 4 0 0 9 0 0 +2 24 -9 0 0 -4 0 0 +2 24 0 0 9 0 0 4 +2 24 4 -12 0 9 -12 0 +2 24 -9 -12 0 -4 -12 0 +2 24 0 -12 -4 0 -12 -9 +2 24 0 -12 9 0 -12 4 + +1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 0 0 9 0 0 0 1 0 0 0 9 4-4edge.dat +1 16 0 -12 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 -12 0 9 0 0 0 1 0 0 0 9 4-4edge.dat + +1 34 0 0 0 3 0 0 0 1 0 0 0 3 4-4ring2.dat +1 36 0 -12 0 3 0 0 0 1 0 0 0 3 4-4ring2.dat +0 // \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS11.dat b/ImportLDraw/lsynth/LS11.dat new file mode 100755 index 0000000000000000000000000000000000000000..4dae4fd1a7a06bea3c16c530733c07fca7bde587 --- /dev/null +++ b/ImportLDraw/lsynth/LS11.dat @@ -0,0 +1,17 @@ +0 ~LSynth Electric Cable Segment NXT +0 Name: LS11.dat +0 Author: Kevin Clague [kclague] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth + +0 ! HISTORY 2006-11-25 [kclague] Place holder part, can be replaced as needed +0 ! HISTORY 2007-02-21 [Holly-Wood] BFCed, fixed header + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 4-4cyli.dat +1 16 0 0 0 1 0 0 0 1 0 0 0 1 4-4disc.dat +1 16 0 1 0 1 0 0 0 1 0 0 0 1 4-4disc.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS12.dat b/ImportLDraw/lsynth/LS12.dat new file mode 100755 index 0000000000000000000000000000000000000000..a09de5e12d0567921f8605db1a892268d080184c --- /dev/null +++ b/ImportLDraw/lsynth/LS12.dat @@ -0,0 +1,15 @@ +0 ~LSynth Electric Mindstorms NXT Cable Segment +0 Name: LS12.dat +0 Author: J.C. Tchang [tchang] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2010-10-10 [tchang] Copy of philo's x932.dat, with new orientation for LSynth + +1 16 5 0 0 0 0 3 0 1 0 -3 0 0 2-4cyli.dat +1 16 -5 0 0 0 0 -3 0 1 0 3 0 0 2-4cyli.dat +4 16 5 0 3 5 1 3 -5 1 3 -5 0 3 +4 16 -5 0 -3 -5 1 -3 5 1 -3 5 0 -3 +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS20.dat b/ImportLDraw/lsynth/LS20.dat new file mode 100755 index 0000000000000000000000000000000000000000..12426673df58cf9ca2b34046f73d185f9bd5ae1f --- /dev/null +++ b/ImportLDraw/lsynth/LS20.dat @@ -0,0 +1,23 @@ +0 ~LSynth Technic Pneumatic Hose - End Piece +0 Name: LS20.dat +0 Author: Kevin Clague [kclague] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth + +0 !HISTORY 2006-11-25 [kclague] Place holder part, can be replaced as needed +0 !HISTORY 2007-02-15 [Holly-Wood] BFCed, fixed header + +0 BFC INVERTNEXT +1 16 0 0 0 2 0 0 0 1 0 0 0 2 4-4cyli.dat +1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4cyli.dat +1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 4-4edge.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 ring1.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 ring2.dat +1 16 0 1 0 2 0 0 0 -1 0 0 0 2 ring1.dat +1 16 0 1 0 2 0 0 0 -1 0 0 0 2 ring2.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS21.dat b/ImportLDraw/lsynth/LS21.dat new file mode 100755 index 0000000000000000000000000000000000000000..53d7bd056ac2348b71c2b16fe3c4c8d23c4bb439 --- /dev/null +++ b/ImportLDraw/lsynth/LS21.dat @@ -0,0 +1,21 @@ +0 ~LSynth Technic Pneumatic Hose - Cross Section +0 Name: LS21.dat +0 Author: Kevin Clague [kclague] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORD LSynth + +0 !HISTORY 2006-11-25 [kclague] Place holder part, can be replaced as needed +0 !HISTORY 2007-02-15 [Holly-Wood] BFCed, fixed header + +1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4cyli.dat +0 BFC INVERTNEXT +1 16 0 0 0 2 0 0 0 1 0 0 0 2 4-4cyli.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 ring1.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 ring2.dat +1 16 0 1 0 2 0 0 0 -1 0 0 0 2 ring1.dat +1 16 0 1 0 2 0 0 0 -1 0 0 0 2 ring2.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS22.dat b/ImportLDraw/lsynth/LS22.dat new file mode 100755 index 0000000000000000000000000000000000000000..c312e5464d362cb676554737f35518e1bda17fb7 --- /dev/null +++ b/ImportLDraw/lsynth/LS22.dat @@ -0,0 +1,36 @@ +0 ~LSynth Technic Pneumatic Hose - Beveled End Piece +0 Name: LS22.dat +0 Author: Fredrik Glöckner [fredrigl] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth + +0 !HISTORY 2003-11-30 [Steffen] BFCed +0 !HISTORY 2011-06-05 [Holly-Wood] Added edges, closed top, rearranged + +1 16 0 16 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 16 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 2 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 2 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 0 0 3 0 0 0 1 0 0 0 3 4-4edge.dat +1 16 0 0 0 5 0 0 0 1 0 0 0 5 4-4edge.dat +1 16 0 16 0 -2 0 0 0 -1 0 0 0 2 4-4ring2.dat +0 BFC INVERTNEXT +1 16 0 2 0 4 0 0 0 14 0 0 0 4 4-4cyli.dat +1 16 0 2 0 6 0 0 0 14 0 0 0 6 4-4cyli.dat +0 BFC INVERTNEXT +1 16 0 2 0 1 0 0 0 -2 0 0 0 1 1-4CON3.DAT +0 BFC INVERTNEXT +1 16 0 2 0 0 0 1 0 -2 0 -1 0 0 1-4CON3.DAT +0 BFC INVERTNEXT +1 16 0 2 0 -1 0 0 0 -2 0 0 0 -1 1-4CON3.DAT +0 BFC INVERTNEXT +1 16 0 2 0 0 0 -1 0 -2 0 1 0 0 1-4CON3.DAT +1 16 0 2 0 0.667 0 0 0 -1.25 0 0 0 0.667 4-4CON8.DAT +1 16 0 1.25 0 0.625 0 0 0 -1.25 0 0 0 0.625 4-4CON8.DAT +1 16 0 0 0 1 0 0 0 1 0 0 0 1 4-4ring3.dat +1 16 0 0 0 1 0 0 0 1 0 0 0 1 4-4ring4.dat +0 diff --git a/ImportLDraw/lsynth/LS23.dat b/ImportLDraw/lsynth/LS23.dat new file mode 100755 index 0000000000000000000000000000000000000000..32a0c8a95f38c2412940d1faff4125ee4948e17f --- /dev/null +++ b/ImportLDraw/lsynth/LS23.dat @@ -0,0 +1,20 @@ +0 ~LSynth Technic Pneumatic Hose - Beveled Cross Section +0 Name: LS23.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth + +0 !HISTORY 2011-06-05 [Holly-Wood] Initial version + +1 16 0 0 0 5 0 0 0 1 0 0 0 5 4-4cyli.dat +0 BFC INVERTNEXT +1 16 0 0 0 3 0 0 0 1 0 0 0 3 4-4cyli.dat +1 16 0 0 0 1 0 0 0 1 0 0 0 1 ring3.dat +1 16 0 0 0 1 0 0 0 1 0 0 0 1 ring4.dat +1 16 0 1 0 1 0 0 0 -1 0 0 0 1 ring3.dat +1 16 0 1 0 1 0 0 0 -1 0 0 0 1 ring4.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS30.dat b/ImportLDraw/lsynth/LS30.dat new file mode 100755 index 0000000000000000000000000000000000000000..c959146f691166b998640c85702ea73cb1ab2817 --- /dev/null +++ b/ImportLDraw/lsynth/LS30.dat @@ -0,0 +1,27 @@ +0 ~LSynth Electric Technic Fiber Optics - End Piece +0 Name: LS30.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth + +0 !HISTORY 2007-04-30 [Holly-Wood] Initial version + +0 // Based on work of Michael Heidemann + +1 16 0 0 0 2 0 0 0 1 0 0 0 2 4-4edge.dat +1 16 0 7 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 7 0 5 0 0 0 1 0 0 0 5 4-4edge.dat +1 16 0 8 0 5 0 0 0 1 0 0 0 5 4-4edge.dat +1 16 0 8 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 28 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 7 0 -2 0 0 0 -7 0 0 0 2 4-4con1.dat +1 16 0 7 0 1 0 0 0 1 0 0 0 1 ring4.dat +1 16 0 8 0 -1 0 0 0 -1 0 0 0 1 ring4.dat +1 16 0 7 0 5 0 0 0 1 0 0 0 5 4-4cyli.dat +1 16 0 8 0 4 0 0 0 20 0 0 0 4 4-4cyli.dat +1 16 0 28 0 -4 0 0 0 -1 0 0 0 4 4-4disc.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS40.dat b/ImportLDraw/lsynth/LS40.dat new file mode 100755 index 0000000000000000000000000000000000000000..8b7bbf8beabd1805d08f37b3c4fa3cf9d6e0c5b7 --- /dev/null +++ b/ImportLDraw/lsynth/LS40.dat @@ -0,0 +1,24 @@ +0 ~LSynth Technic Flexible Axle - End Piece +0 Name: LS40.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth + +0 !HISTORY 2007-04-29 [Holly-Wood] Initial version + +0 // Based on work of Steve Bliss and Chris Dee + +0 Skinny tip +1 16 0 20 0 -1 0 0 0 -5 0 0 0 1 STUD3A.DAT + +0 Mixed Cylinder & Cross-axle end section +1 16 0 16 0 0 1 0 1 0 0 0 0 -1 s\faxle1.dat +1 16 0 12 0 0 1 0 1 0 0 0 0 -1 s\faxle2.dat +1 16 0 8 0 0 1 0 1 0 0 0 0 -1 s\faxle3.dat +1 16 0 4 0 0 1 0 1 0 0 0 0 -1 s\faxle4.dat +1 16 0 0 0 0 1 0 1 0 0 0 0 -1 s\faxle5.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS41.dat b/ImportLDraw/lsynth/LS41.dat new file mode 100755 index 0000000000000000000000000000000000000000..04b1dc8b5c6fd33634f20073188908cfc5dd6e6c --- /dev/null +++ b/ImportLDraw/lsynth/LS41.dat @@ -0,0 +1,61 @@ +0 ~LSynth Technic Flexible Axle - Cross Section +0 Name: LS41.dat +0 Author: Kevin Clague [kclague] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !KEYWORDS LSynth + +0 !HISTORY 2006-11-25 [kclague] Place holder part, can be replaced as needed +0 !HISTORY 2007-04-03 [Holly-Wood] Fixed header, minor fixes + +5 24 0 0 6 0 1 6 2 0 5.602 -2 0 5.602 +5 24 -6 0 0 -6 1 0 -5.602 0 -2 -5.602 0 2 +5 24 0 0 -6 0 1 -6 -2 0 -5.602 2 0 -5.602 +2 24 5.602 0 2 5.602 1 2 +2 24 2 0 2 2 1 2 +2 24 2 0 5.602 2 1 5.602 +2 24 -5.602 0 2 -5.602 1 2 +2 24 -2 0 2 -2 1 2 +2 24 -2 0 5.602 -2 1 5.602 +2 24 5.602 0 -2 5.602 1 -2 +2 24 2 0 -2 2 1 -2 +2 24 2 0 -5.602 2 1 -5.602 +2 24 -5.602 0 -2 -5.602 1 -2 +2 24 -2 0 -2 -2 1 -2 +2 24 -2 0 -5.602 -2 1 -5.602 +4 16 6 0 0 6 1 0 5.602 1 2 5.602 0 2 +4 16 5.602 0 2 5.602 1 2 2 1 2 2 0 2 +4 16 2 0 2 2 1 2 2 1 5.602 2 0 5.602 +4 16 2 0 5.602 2 1 5.602 0 1 6 0 0 6 +4 16 -6 0 0 -5.602 0 2 -5.602 1 2 -6 1 0 +4 16 -5.602 0 2 -2 0 2 -2 1 2 -5.602 1 2 +4 16 -2 0 2 -2 0 5.602 -2 1 5.602 -2 1 2 +4 16 -2 0 5.602 0 0 6 0 1 6 -2 1 5.602 +4 16 6 0 0 5.602 0 -2 5.602 1 -2 6 1 0 +4 16 5.602 0 -2 2 0 -2 2 1 -2 5.602 1 -2 +4 16 2 0 -2 2 0 -5.602 2 1 -5.602 2 1 -2 +4 16 2 0 -5.602 0 0 -6 0 1 -6 2 1 -5.602 +4 16 -6 0 0 -6 1 0 -5.602 1 -2 -5.602 0 -2 +4 16 -5.602 0 -2 -5.602 1 -2 -2 1 -2 -2 0 -2 +4 16 -2 0 -2 -2 1 -2 -2 1 -5.602 -2 0 -5.602 +4 16 -2 0 -5.602 -2 1 -5.602 0 1 -6 0 0 -6 +4 16 6 0 0 5.602 0 2 2 0 2 0 0 0 +4 16 -6 0 0 0 0 0 -2 0 2 -5.602 0 2 +4 16 6 0 0 0 0 0 2 0 -2 5.602 0 -2 +4 16 -6 0 0 -5.602 0 -2 -2 0 -2 0 0 0 +4 16 0 0 6 0 0 0 2 0 2 2 0 5.602 +4 16 0 0 6 -2 0 5.602 -2 0 2 0 0 0 +4 16 0 0 -6 2 0 -5.602 2 0 -2 0 0 0 +4 16 0 0 -6 0 0 0 -2 0 -2 -2 0 -5.602 +4 16 6 1 0 0 1 0 2 1 2 5.602 1 2 +4 16 -6 1 0 -5.602 1 2 -2 1 2 0 1 0 +4 16 6 1 0 5.602 1 -2 2 1 -2 0 1 0 +4 16 -6 1 0 0 1 0 -2 1 -2 -5.602 1 -2 +4 16 0 1 6 2 1 5.602 2 1 2 0 1 0 +4 16 0 1 6 0 1 0 -2 1 2 -2 1 5.602 +4 16 0 1 -6 0 1 0 2 1 -2 2 1 -5.602 +4 16 0 1 -6 -2 1 -5.602 -2 1 -2 0 1 0 +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS50.dat b/ImportLDraw/lsynth/LS50.dat new file mode 100755 index 0000000000000000000000000000000000000000..dc0fa77c2ce0260c5162062d363a594c75bde9b9 --- /dev/null +++ b/ImportLDraw/lsynth/LS50.dat @@ -0,0 +1,21 @@ +0 ~LSynth Technic Flex-System Hose - End Piece +0 Name: LS50.dat +0 Author: Kevin Clague [kclague] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !KEYWORDS LSynth + +0 !HISTORY 2006-11-25 [kclague] Place holder part, can be replaced as needed +0 !HISTORY 2007-04-03 [Holly-Wood] Fixed header, minor fixes + +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4cyli.dat +0 BFC CERTIFY INVERTNEXT +1 16 0 0 0 2 0 0 0 1 0 0 0 2 4-4cyli.dat +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 4-4edge.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 RING1.DAT +1 16 0 1 0 2 0 0 0 -1 0 0 0 -2 RING1.DAT +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS51.dat b/ImportLDraw/lsynth/LS51.dat new file mode 100755 index 0000000000000000000000000000000000000000..44979f5401505e0e3dc72661ad7616c564c429da --- /dev/null +++ b/ImportLDraw/lsynth/LS51.dat @@ -0,0 +1,20 @@ +0 ~LSynth Technic Flex-System Hose - Cross Section +0 Name: LS51.dat +0 Author: Kevin Clague [kclague] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !KEYWORDS LSynth + +0 !HISTORY 2006-11-25 [kclague] Place holder part, can be replaced as needed +0 !HISTORY 2004-11-21 [GuyVivan] Made BFC Compliant +0 !HISTORY 2007-04-03 [Holly-Wood] Fixed header, some minor fixes + +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4cyli.dat +0 BFC CERTIFY INVERTNEXT +1 16 0 0 0 2 0 0 0 1 0 0 0 2 4-4cyli.dat +1 16 0 0 0 2 0 0 0 1 0 0 0 2 ring1.dat +1 16 0 1 0 2 0 0 0 -1 0 0 0 2 ring1.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS60.dat b/ImportLDraw/lsynth/LS60.dat new file mode 100755 index 0000000000000000000000000000000000000000..301331f74eeba32e980089f2b78bebea5e7033ed --- /dev/null +++ b/ImportLDraw/lsynth/LS60.dat @@ -0,0 +1,38 @@ +0 ~LSynth Short Straight String Segment +0 Name: LS60.dat +0 Author: Larry Pieniazek +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth + +0 !HISTORY 2006-11-25 [kclague] Place holder part, can be replaced as needed +0 !HISTORY 2007-02-25 [Holly-Wood] Renamed, BFCed, set black to main color + +3 16 0.5 0.866 1 1 0 1 0 0 1 +3 16 0.866 0.5 -1 0.866 -0.5 -1 1 0 1 +3 8 0.866026 0.5 -1 1 0 1 0.5 0.866026 1 +3 16 0 0 -1 0.866 -0.5 -1 0.866 0.5 -1 +3 16 -0.5 0.866 1 0.5 0.866 1 0 0 1 +3 16 0 1 -1 0.866 0.5 -1 0.5 0.866 1 +3 8 0 1 -1 0.5 0.866026 1 -0.5 0.866026 1 +3 16 0 0 -1 0.866 0.5 -1 0 1 -1 +3 16 -1 0 1 -0.5 0.866 1 0 0 1 +3 16 -0.866 0.5 -1 0 1 -1 -0.5 0.866 1 +3 8 -0.866026 0.5 -1 -0.5 0.866026 1 -1 0 1 +3 16 0 0 -1 0 1 -1 -0.866 0.5 -1 +3 16 -0.5 -0.866 1 -1 0 1 0 0 1 +3 16 -0.866 -0.5 -1 -0.866 0.5 -1 -1 0 1 +3 8 -0.866026 -0.5 -1 -1 0 1 -0.5 -0.866026 1 +3 16 0 0 -1 -0.866 0.5 -1 -0.866 -0.5 -1 +3 16 0.5 -0.866 1 -0.5 -0.866 1 0 0 1 +3 16 0 -1 -1 -0.866 -0.5 -1 -0.5 -0.866 1 +3 8 0 -1 -1 -0.5 -0.866026 1 0.5 -0.866026 1 +3 16 0 0 -1 -0.866 -0.5 -1 0 -1 -1 +3 16 1 0 1 0.5 -0.866 1 0 0 1 +3 16 0.866 -0.5 -1 0 -1 -1 0.5 -0.866 1 +3 8 0.866026 -0.5 -1 0.5 -0.866026 1 1 0 1 +3 16 0 0 -1 0 -1 -1 0.866 -0.5 -1 +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS61.dat b/ImportLDraw/lsynth/LS61.dat new file mode 100755 index 0000000000000000000000000000000000000000..31f706ddddca602457688c93f9d9e98ec508261b --- /dev/null +++ b/ImportLDraw/lsynth/LS61.dat @@ -0,0 +1,27 @@ +0 ~LSynth Straight String Segment for STRING_WITH_GRIPS_21L +0 Name: LS61.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth +0 !HISTORY 2009-09-12 [Holly-Wood] Initial version + +1 16 0 0 -22.5 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -21 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -19.5 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -18 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -16.5 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -15 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -13.5 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -12 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -10.5 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -9 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -7.5 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -6 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -4.5 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -3 1 0 0 0 1 0 0 0 1 LS60.dat +1 16 0 0 -1.5 1 0 0 0 1 0 0 0 1 LS60.dat +0 \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS70.dat b/ImportLDraw/lsynth/LS70.dat new file mode 100755 index 0000000000000000000000000000000000000000..ad9d2c6ea19aa5173e02cf5b0e95d023d2513fb9 --- /dev/null +++ b/ImportLDraw/lsynth/LS70.dat @@ -0,0 +1,44 @@ +0 ~LSynth Electric Power Functions Cable Segment +0 Name: LS70.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !KEYWORDS LSynth +0 !HISTORY 2008-03-17 [Holly-Wood] Initial version +1 16 0 0 3.712 1.23744 0 1.23744 0 1 0 -1.23744 0 1.23744 3-4cyli.dat +1 16 0 0 1.237 1.23744 0 1.23744 0 1 0 -1.23744 0 1.23744 1-4cyli.dat +1 16 0 0 1.237 -1.23744 0 -1.23744 0 1 0 1.23744 0 -1.23744 1-4cyli.dat +1 16 0 0 -1.237 1.23744 0 1.23744 0 1 0 -1.23744 0 1.23744 1-4cyli.dat +1 16 0 0 -1.237 -1.23744 0 -1.23744 0 1 0 1.23744 0 -1.23744 1-4cyli.dat +1 16 0 0 -3.712 -1.23744 0 -1.23744 0 1 0 1.23744 0 -1.23744 3-4cyli.dat + +1 16 0 0 3.712 1.23744 0 1.23744 0 1 0 -1.23744 0 1.23744 3-4disc.dat +4 16 1.237 0 2.475 0 0 1.237 -1.237 0 2.475 0 0 3.712 +1 16 0 0 1.237 -1.23744 0 -1.23744 0 1 0 1.23744 0 -1.23744 1-4disc.dat +1 16 0 0 1.237 1.23744 0 1.23744 0 1 0 -1.23744 0 1.23744 1-4disc.dat +4 16 1.237 0 0 0 0 -1.237 -1.237 0 0 0 0 1.237 +1 16 0 0 -1.237 1.23744 0 1.23744 0 1 0 -1.23744 0 1.23744 1-4disc.dat +1 16 0 0 -1.237 -1.23744 0 -1.23744 0 1 0 1.23744 0 -1.23744 1-4disc.dat +4 16 0 0 -3.712 -1.237 0 -2.475 0 0 -1.237 1.237 0 -2.475 +1 16 0 0 -3.712 -1.23744 0 -1.23744 0 1 0 1.23744 0 -1.23744 3-4disc.dat + +1 16 0 1 3.712 1.23744 0 1.23744 0 -1 0 -1.23744 0 1.23744 3-4disc.dat +4 16 0 1 3.712 -1.237 1 2.475 0 1 1.237 1.237 1 2.475 +1 16 0 1 1.237 -1.23744 0 -1.23744 0 -1 0 1.23744 0 -1.23744 1-4disc.dat +1 16 0 1 1.237 1.23744 0 1.23744 0 -1 0 -1.23744 0 1.23744 1-4disc.dat +4 16 0 1 1.237 -1.237 1 0 0 1 -1.237 1.237 1 0 +1 16 0 1 -1.237 1.23744 0 1.23744 0 -1 0 -1.23744 0 1.23744 1-4disc.dat +1 16 0 1 -1.237 -1.23744 0 -1.23744 0 -1 0 1.23744 0 -1.23744 1-4disc.dat +4 16 1.237 1 -2.475 0 1 -1.237 -1.237 1 -2.475 0 1 -3.712 +1 16 0 1 -3.712 -1.23744 0 -1.23744 0 -1 0 1.23744 0 -1.23744 3-4disc.dat + +2 24 -1.237 0 0 -1.237 1 0 +2 24 1.238 0 0 1.238 1 0 +2 24 -1.237 0 -2.475 -1.237 1 -2.475 +2 24 1.238 0 -2.475 1.238 1 -2.475 +2 24 -1.237 0 2.475 -1.237 1 2.475 +2 24 1.238 0 2.475 1.238 1 2.475 +0 diff --git a/ImportLDraw/lsynth/LS71.dat b/ImportLDraw/lsynth/LS71.dat new file mode 100755 index 0000000000000000000000000000000000000000..710932a8139de0b8f1308b5c62100391e344a479 --- /dev/null +++ b/ImportLDraw/lsynth/LS71.dat @@ -0,0 +1,15 @@ +0 ~LSynth Electric Power Functions 2-Wires Cable Segment +0 Name: LS71.dat +0 Author: Philippe Hurbain [Philo] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CW + +0 !HISTORY 2008-08-09 [Philo] Creation + +1 16 0 0 1.237 1.23744 0 1.23744 0 1 0 -1.23744 0 1.23744 3-4cyli.dat +1 16 0 0 -1.237 -1.23744 0 -1.23744 0 1 0 1.23744 0 -1.23744 3-4cyli.dat +2 24 -1.237 0 0 -1.237 1 0 +2 24 1.238 0 0 1.238 1 0 +0 diff --git a/ImportLDraw/lsynth/LS80.dat b/ImportLDraw/lsynth/LS80.dat new file mode 100755 index 0000000000000000000000000000000000000000..d90feb06330baab63e2fb68ee680c8bc554e6cf1 --- /dev/null +++ b/ImportLDraw/lsynth/LS80.dat @@ -0,0 +1,21 @@ +0 ~LSYNTH Technic Tread Crawler Segment Straight +0 Name: LS80.dat +0 Author: J.C. Tchang [tchang] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2009-06-29 [tchang] Made for LSynth + +4 16 6.75 -5 9 5.75 -3 9 -5.75 -3 9 -6.75 -5 9 +1 16 0 -3 8 5.75 0 0 0 -1 0 0 0 1 rect2p.dat +4 16 -5.75 0 6 -5.75 -3 7 5.75 -3 7 5.75 0 6 +1 16 0 0 0 5.75 0 0 0 -1 0 0 0 6 rect.dat +4 16 5.75 0 -6 5.75 -3 -7 -5.75 -3 -7 -5.75 0 -6 +1 16 0 -3 -8 5.75 0 0 0 -1 0 0 0 1 rect2p.dat +4 16 -6.75 -5 -9 -5.75 -3 -9 5.75 -3 -9 6.75 -5 -9 +1 16 5.2 -5 0 0 0 -1.5 0 1 0 9 0 0 rect3.dat +1 16 -5.2 -5 0 0 0 1.5 0 1 0 -9 0 0 rect3.dat +1 16 0 -5 0 3.75 0 0 0 -7.5 0 0 0 9 box5-4a.dat +0 // \ No newline at end of file diff --git a/ImportLDraw/lsynth/LS90.dat b/ImportLDraw/lsynth/LS90.dat new file mode 100755 index 0000000000000000000000000000000000000000..fa4b8061c918a71133fc9c647e8acab95da6b814 --- /dev/null +++ b/ImportLDraw/lsynth/LS90.dat @@ -0,0 +1,128 @@ +0 ~LSynth Hose Flexible 19M End Segment +0 Name: LS90.dat +0 Author: J.C. Tchang [tchang] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +1 16 0 20 0 4 0 0 0 -1 0 0 0 4 4-4disc.dat +1 16 0 20 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 20 0 4 0 0 0 -20 0 0 0 4 4-4cyli.dat +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +0 // +1 16 0 0 0 1 0 0 0 -1 0 0 0 1 4-4ring4.dat +1 16 0 0 0 0.5 0 0 0 -1 0 0 0 0.5 4-4rin10.dat +1 16 0 0 0 5.08134 0 -2.10476 0 1 0 2.10476 0 5.08134 1-8edge.dat +1 16 0 0 0 -2.10476 0 -5.08134 0 1 0 5.08134 0 -2.10476 1-8edge.dat +1 16 0 0 0 -5.08134 0 2.10476 0 1 0 -2.10476 0 -5.08134 1-8edge.dat +1 16 0 0 0 2.10476 0 5.08134 0 1 0 -5.08134 0 2.10476 1-8edge.dat +2 24 5.30095 0 1 5.081 0 2.105 +2 24 5.30095 0 -1 5.081 0 -2.105 +2 24 -1 0 5.30095 -2.105 0 5.081 +2 24 1 0 5.30095 2.105 0 5.081 +2 24 -5.30095 0 -1 -5.081 0 -2.105 +2 24 -5.30095 0 1 -5.081 0 2.105 +2 24 1 0 -5.30095 2.105 0 -5.081 +2 24 -1 0 -5.30095 -2.105 0 -5.081 +1 16 0 0 0 5.5 0 0 0 -2 0 0 0 5.5 4-4cyli.dat +0 // +1 16 0 -2 0 5.5 0 0 0 1 0 0 0 5.5 4-4edge.dat +1 16 0 -2 0 0.25 0 0 0 1 0 0 0 0.25 4-4rin21.dat +1 16 0 -2 0 0.75 0 0 0 1 0 0 0 0.75 4-4ring6.dat +1 16 0 -2 0 4.5 0 0 0 1 0 0 0 4.5 4-4edge.dat +1 16 0 -2 0 4.5 0 0 0 -6 0 0 0 4.5 4-4cyli.dat +0 // +1 16 0 -8 0 4.5 0 0 0 1 0 0 0 4.5 4-4edge.dat +1 16 0 -8 0 0.5 0 0 0 1 0 0 0 0.5 4-4ring8.dat +1 16 0 -8 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 -8 0 4 0 0 0 -3.9 0 0 0 4 4-4cyli.dat +0 // +4 16 -4.5 -5.5 0 -4.301 -5.699 1 -6 -4 1 -6 -4 -1 +3 16 -6 -4 -1 -4.301 -5.699 -1 -4.5 -5.5 0 +2 24 -6 -4 -1 -4.30139 -5.69861 -1 +2 24 -6 -4 1 -4.30139 -5.69861 1 +2 24 -4.30139 -5.69861 -1 -4.5 -5.5 0 +2 24 -4.30139 -5.69861 1 -4.5 -5.5 0 +4 16 -6 0 -1 -6 0 1 -5.30095 0 1 -5.5 0 0 +3 16 -5.5 0 0 -5.30095 0 -1 -6 0 -1 +2 24 -5.30095 0 -1 -6 0 -1 +2 24 -5.30095 0 1 -6 0 1 +4 16 -6 -4 -1 -6 0 -1 -5.30095 0 -1 -5.30095 -2 -1 +4 16 -4.30139 -2 -1 -4.30139 -5.69861 -1 -6 -4 -1 -5.30095 -2 -1 +2 24 -5.30095 0 -1 -5.30095 -2 -1 +2 24 -4.30139 -2 -1 -4.30139 -5.69861 -1 +2 24 -5.30095 -2 -1 -4.30139 -2 -1 +4 16 -5.301 -2 1 -5.301 0 1 -6 0 1 -6 -4 1 +4 16 -5.301 -2 1 -6 -4 1 -4.301 -5.699 1 -4.301 -2 1 +2 24 -5.30095 0 1 -5.30095 -2 1 +2 24 -4.30139 -2 1 -4.30139 -5.69861 1 +2 24 -5.30095 -2 1 -4.30139 -2 1 +1 16 -6 -2 0 0 1 0 0 0 -2 -1 0 0 rect.dat +0 // +4 16 0 -5.5 4.5 1 -5.699 4.301 1 -4 6 -1 -4 6 +3 16 -1 -4 6 -1 -5.699 4.301 0 -5.5 4.5 +2 24 -1 -4 6 -1 -5.69861 4.30139 +2 24 1 -4 6 1 -5.69861 4.30139 +2 24 -1 -5.69861 4.30139 0 -5.5 4.5 +2 24 1 -5.69861 4.30139 0 -5.5 4.5 +4 16 -1 0 6 1 0 6 1 0 5.30095 0 0 5.5 +3 16 0 0 5.5 -1 0 5.30095 -1 0 6 +2 24 -1 0 5.30095 -1 0 6 +2 24 1 0 5.30095 1 0 6 +4 16 -1 -4 6 -1 0 6 -1 0 5.30095 -1 -2 5.30095 +4 16 -1 -2 4.30139 -1 -5.69861 4.30139 -1 -4 6 -1 -2 5.30095 +2 24 -1 0 5.30095 -1 -2 5.30095 +2 24 -1 -2 4.30139 -1 -5.69861 4.30139 +2 24 -1 -2 5.30095 -1 -2 4.30139 +4 16 1 -2 5.301 1 0 5.301 1 0 6 1 -4 6 +4 16 1 -2 5.301 1 -4 6 1 -5.699 4.301 1 -2 4.301 +2 24 1 0 5.30095 1 -2 5.30095 +2 24 1 -2 4.30139 1 -5.69861 4.30139 +2 24 1 -2 5.30095 1 -2 4.30139 +1 16 0 -2 6 -1 0 0 0 0 -2 0 -1 0 rect.dat +0 // +4 16 4.5 -5.5 0 4.301 -5.699 -1 6 -4 -1 6 -4 1 +3 16 6 -4 1 4.301 -5.699 1 4.5 -5.5 0 +2 24 6 -4 1 4.30139 -5.69861 1 +2 24 6 -4 -1 4.30139 -5.69861 -1 +2 24 4.30139 -5.69861 1 4.5 -5.5 0 +2 24 4.30139 -5.69861 -1 4.5 -5.5 0 +4 16 6 0 1 6 0 -1 5.30095 0 -1 5.5 0 0 +3 16 5.5 0 0 5.30095 0 1 6 0 1 +2 24 5.30095 0 1 6 0 1 +2 24 5.30095 0 -1 6 0 -1 +4 16 6 -4 1 6 0 1 5.30095 0 1 5.30095 -2 1 +4 16 4.30139 -2 1 4.30139 -5.69861 1 6 -4 1 5.30095 -2 1 +2 24 5.30095 0 1 5.30095 -2 1 +2 24 4.30139 -2 1 4.30139 -5.69861 1 +2 24 5.30095 -2 1 4.30139 -2 1 +4 16 5.301 -2 -1 5.301 0 -1 6 0 -1 6 -4 -1 +4 16 5.301 -2 -1 6 -4 -1 4.301 -5.699 -1 4.301 -2 -1 +2 24 5.30095 0 -1 5.30095 -2 -1 +2 24 4.30139 -2 -1 4.30139 -5.69861 -1 +2 24 5.30095 -2 -1 4.30139 -2 -1 +1 16 6 -2 0 0 -1 0 0 0 -2 1 0 0 rect.dat +0 // +4 16 0 -5.5 -4.5 -1 -5.699 -4.301 -1 -4 -6 1 -4 -6 +3 16 1 -4 -6 1 -5.699 -4.301 0 -5.5 -4.5 +2 24 1 -4 -6 1 -5.69861 -4.30139 +2 24 -1 -4 -6 -1 -5.69861 -4.30139 +2 24 1 -5.69861 -4.30139 0 -5.5 -4.5 +2 24 -1 -5.69861 -4.30139 0 -5.5 -4.5 +4 16 1 0 -6 -1 0 -6 -1 0 -5.30095 0 0 -5.5 +3 16 0 0 -5.5 1 0 -5.30095 1 0 -6 +2 24 1 0 -5.30095 1 0 -6 +2 24 -1 0 -5.30095 -1 0 -6 +4 16 1 -4 -6 1 0 -6 1 0 -5.30095 1 -2 -5.30095 +4 16 1 -2 -4.30139 1 -5.69861 -4.30139 1 -4 -6 1 -2 -5.30095 +2 24 1 0 -5.30095 1 -2 -5.30095 +2 24 1 -2 -4.30139 1 -5.69861 -4.30139 +2 24 1 -2 -5.30095 1 -2 -4.30139 +4 16 -1 -2 -5.301 -1 0 -5.301 -1 0 -6 -1 -4 -6 +4 16 -1 -2 -5.301 -1 -4 -6 -1 -5.699 -4.301 -1 -2 -4.301 +2 24 -1 0 -5.30095 -1 -2 -5.30095 +2 24 -1 -2 -4.30139 -1 -5.69861 -4.30139 +2 24 -1 -2 -5.30095 -1 -2 -4.30139 +1 16 0 -2 -6 1 0 0 0 0 -2 0 1 0 rect.dat +0 // diff --git a/ImportLDraw/lsynth/LS91.dat b/ImportLDraw/lsynth/LS91.dat new file mode 100755 index 0000000000000000000000000000000000000000..b9dabf7d9ea19f0278f1a8f8ed8a1592584ecd16 --- /dev/null +++ b/ImportLDraw/lsynth/LS91.dat @@ -0,0 +1,18 @@ +0 ~LSynth Hose Flexible 19M Segment +0 Name: LS91.dat +0 Author: J.C. Tchang [tchang] +0 !LDRAW_ORG Unofficial_Part +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +1 16 0 1.5 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +1 16 0 1.25 0 1 0 0 0 0.25 0 0 0 1 4-4con4.dat +1 16 0 0 0 5 0 0 0 5 0 0 0 5 t01o2500.dat +1 16 0 0 0 5 0 0 0 -5 0 0 0 5 t01o2500.dat +1 16 0 -1.25 0 1 0 0 0 -0.25 0 0 0 1 4-4con4.dat +1 16 0 -1.5 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +0 // +1 16 0 -1.5 0 0.5 0 0 0 -2.8 0 0 0 0.5 4-4con7.dat +1 16 0 1.5 0 0.5 0 0 0 2.8 0 0 0 0.5 4-4con7.dat +0 // \ No newline at end of file diff --git a/ImportLDraw/studs/8/stud-copy.dat b/ImportLDraw/studs/8/stud-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..d08d9a3f08a95f707f9758cc4e47a36d8666d35f --- /dev/null +++ b/ImportLDraw/studs/8/stud-copy.dat @@ -0,0 +1,56 @@ +0 Stud (Fast-Draw) +0 Name: 8\stud.dat +0 Author: James Jessiman +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-04-04 [sbliss] Modified for BFC compliance; compacted code +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +2 24 6 0 0 4.2 0 -4.2 +2 24 6 -4 0 4.2 -4 -4.2 +3 16 4.2 -4 -4.2 6 -4 0 0 -4 0 +4 16 6 0 0 6 -4 0 4.2 -4 -4.2 4.2 0 -4.2 +5 24 6 -4 0 6 0 0 4.2 -4 -4.2 4.2 -4 4.2 +2 24 4.2 0 -4.2 0 0 -6 +2 24 4.2 -4 -4.2 0 -4 -6 +3 16 0 -4 -6 4.2 -4 -4.2 0 -4 0 +4 16 4.2 0 -4.2 4.2 -4 -4.2 0 -4 -6 0 0 -6 +5 24 4.2 -4 -4.2 4.2 0 -4.2 0 -4 -6 6 -4 0 +2 24 0 0 -6 -4.2 0 -4.2 +2 24 0 -4 -6 -4.2 -4 -4.2 +3 16 -4.2 -4 -4.2 0 -4 -6 0 -4 0 +4 16 0 0 -6 0 -4 -6 -4.2 -4 -4.2 -4.2 0 -4.2 +5 24 0 -4 -6 0 0 -6 -4.2 -4 -4.2 4.2 -4 -4.2 +2 24 -4.2 0 -4.2 -6 0 0 +2 24 -4.2 -4 -4.2 -6 -4 0 +3 16 -6 -4 0 -4.2 -4 -4.2 0 -4 0 +4 16 -4.2 0 -4.2 -4.2 -4 -4.2 -6 -4 0 -6 0 0 +5 24 -4.2 -4 -4.2 -4.2 0 -4.2 -6 -4 0 0 -4 -6 +2 24 -6 0 0 -4.2 0 4.2 +2 24 -6 -4 0 -4.2 -4 4.2 +3 16 -4.2 -4 4.2 -6 -4 0 0 -4 0 +4 16 -6 0 0 -6 -4 0 -4.2 -4 4.2 -4.2 0 4.2 +5 24 -6 -4 0 -6 0 0 -4.2 -4 4.2 -4.2 -4 -4.2 +2 24 -4.2 0 4.2 0 0 6 +2 24 -4.2 -4 4.2 0 -4 6 +3 16 0 -4 6 -4.2 -4 4.2 0 -4 0 +4 16 -4.2 0 4.2 -4.2 -4 4.2 0 -4 6 0 0 6 +5 24 -4.2 -4 4.2 -4.2 0 4.2 0 -4 6 -6 -4 0 +2 24 0 0 6 4.2 0 4.2 +2 24 0 -4 6 4.2 -4 4.2 +3 16 4.2 -4 4.2 0 -4 6 0 -4 0 +4 16 0 0 6 0 -4 6 4.2 -4 4.2 4.2 0 4.2 +5 24 0 -4 6 0 0 6 4.2 -4 4.2 -4.2 -4 4.2 +2 24 4.2 0 4.2 6 0 0 +2 24 4.2 -4 4.2 6 -4 0 +3 16 6 -4 0 4.2 -4 4.2 0 -4 0 +4 16 4.2 0 4.2 4.2 -4 4.2 6 -4 0 6 0 0 +5 24 4.2 -4 4.2 4.2 0 4.2 6 -4 0 0 -4 6 diff --git a/ImportLDraw/studs/8/stud10-copy.dat b/ImportLDraw/studs/8/stud10-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..78891507cbfca477f32cbeba9cc78742ab4d72d6 --- /dev/null +++ b/ImportLDraw/studs/8/stud10-copy.dat @@ -0,0 +1,36 @@ +0 Stud For Round 2 x 2 Parts (Fast Draw) +0 Name: 8\stud10.dat +0 Author: Orion Pobursky [OrionP] +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2004-04-22 [PTadmin] Official Update 2004-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +1 16 0 0 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +2 24 6 0 0 5.6145 0 1.9397 +2 24 1.9387 0 5.6145 0 0 6 +2 24 5.6145 -4 1.9397 5.6145 0 1.9397 +2 24 6 -4 0 5.6145 -4 1.9397 +2 24 5.6145 -4 1.9397 4.142 -4 4.142 +2 24 4.142 -4 4.142 1.9387 -4 5.6145 +2 24 1.9387 -4 5.6145 0 -4 6 +2 24 1.9387 -4 5.6145 1.9387 0 5.6145 +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4disc.dat +3 16 6 -4 0 5.615 -4 1.94 0 -4 0 +3 16 5.615 -4 1.94 4.142 -4 4.142 0 -4 0 +3 16 4.142 -4 4.142 1.94 -4 5.615 0 -4 0 +3 16 1.94 -4 5.615 0 -4 6 0 -4 0 +1 16 0 -4 0 0 0 -6 0 4 0 6 0 0 3-4cyli.dat +5 24 4.142 -4 4.142 4.142 0 4.142 2.2962 -4 5.5434 5.5434 -4 2.2962 +4 16 6 0 0 5.6145 0 1.9397 5.6145 -4 1.9397 6 -4 0 +4 16 5.6145 0 1.9397 4.142 0 4.142 4.142 -4 4.142 5.6145 -4 1.9397 +4 16 4.142 0 4.142 1.9387 0 5.6145 1.9387 -4 5.6145 4.142 -4 4.142 +4 16 1.9387 0 5.6145 0 0 6 0 -4 6 1.9387 -4 5.6145 diff --git a/ImportLDraw/studs/8/stud13-copy.dat b/ImportLDraw/studs/8/stud13-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..45871ac2048008814f54721a9cd75e871f40fb5a --- /dev/null +++ b/ImportLDraw/studs/8/stud13-copy.dat @@ -0,0 +1,35 @@ +0 Stud for Electric L & S Brick 2 x 2 x 1.333 (Fast-Draw) +0 Name: 8\stud13.dat +0 Author: J.C. Tchang [tchang] +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2011-07-25 [PTadmin] Official Update 2011-01 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +1 16 5.891 -2 0.547 0 -1.095 -0.109 2 0 0 0 -0.218 0.5475 rect3.dat +1 16 3.438 -2 3.438 0 -1.04156 -2.3435 2 0 0 0 -1.04156 2.3435 rect3.dat +1 16 0.547 -2 5.891 -0.5475 -0.218 0 0 0 -2 0.109 -1.095 0 rect2p.dat +4 16 1.095 -4 5.782 0 -4 0 6 -4 0 5.782 -4 1.095 +3 16 0 -4 6 0 -4 0 1.095 -4 5.782 +0 // +4 16 0 -4 0 0 -4 6 -4.243 -4 4.243 -6 -4 0 +4 16 0 -4 0 -6 -4 0 -4.243 -4 -4.243 0 -4 -6 +4 16 0 -4 0 0 -4 -6 4.243 -4 -4.243 6 -4 0 +1 16 -2.121 -2 5.121 -2.121 0.38285 0 0 0 -2 -0.879 -1 0 rect2p.dat +1 16 -5.121 -2 2.121 -0.879 0.92381 0 0 0 -2 -2.121 -1 0 rect2p.dat +1 16 -5.121 -2 -2.121 0.879 0.92381 0 0 0 -2 -2.121 1 0 rect2p.dat +1 16 -2.121 -2 -5.121 2.121 0.38285 0 0 0 -2 -0.879 1 0 rect2p.dat +1 16 2.121 -2 -5.121 2.121 -0.38285 0 0 0 -2 0.879 1 0 rect2p.dat +1 16 5.121 -2 -2.121 0.879 -0.92381 0 0 0 -2 2.121 1 0 rect2p.dat +0 // conditional lines +5 24 0 0 6 0 -4 6 4.243 0 4.243 -4.243 0 4.243 +5 24 -4.243 0 4.243 -4.243 -4 4.243 0 0 6 -6 0 0 +5 24 -6 0 0 -6 -4 0 -4.243 0 4.243 -4.243 0 -4.243 +5 24 -4.243 0 -4.243 -4.243 -4 -4.243 -6 0 0 0 0 -6 +5 24 0 0 -6 0 -4 -6 -4.243 0 -4.243 4.243 0 -4.243 +5 24 4.243 0 -4.243 4.243 -4 -4.243 0 0 -6 6 0 0 +5 24 6 0 0 6 -4 0 4.243 0 -4.243 4.243 0 4.243 +0 // diff --git a/ImportLDraw/studs/8/stud15-copy.dat b/ImportLDraw/studs/8/stud15-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..e89f04164f8f82673d121d26490075648b8bab5c --- /dev/null +++ b/ImportLDraw/studs/8/stud15-copy.dat @@ -0,0 +1,31 @@ +0 Stud for Round 2 x 2 Parts, 1 Face, Complete Edges (Fast-Draw) +0 Name: 8\stud15.dat +0 Author: Joerg Sommerer [Brickaneer] +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2011-12-29 [PTadmin] Official Update 2011-02 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +1 16 0.9694 -2 5.8072 -0.9694 -1.542 0 0 0 -2 0.1928 -7.7548 0 rect2p.dat +1 16 3.7766 -2 3.7766 0 -1.0502 -1.8379 2 0 0 0 -1.0502 1.8379 rect3.dat +1 16 5.8072 -2 0.9694 0 -7.7548 -0.1928 2 0 0 0 -1.542 0.9694 rect3.dat +1 16 -2.1213 -2 5.1213 -2.1213 0.3827 0 0 0 -2 -0.8787 -1 0 rect2p.dat +1 16 -5.1213 -2 2.1213 0.8787 0.9239 0 0 0 2 2.1213 -1 0 rect2p.dat +1 16 -5.1213 -2 -2.1213 0.8787 0.9239 0 0 0 -2 -2.1213 1 0 rect2p.dat +1 16 -2.1213 -2 -5.1213 -2.1213 0.3827 0 0 0 2 0.8787 1 0 rect2p.dat +1 16 2.1213 -2 -5.1213 2.1213 -0.3827 0 0 0 -2 0.8787 1 0 rect2p.dat +1 16 5.1213 -2 -2.1213 -0.8787 -0.9239 0 0 0 2 -2.1213 1 0 rect2p.dat +5 24 0 -4 6 0 0 6 -4.2426 0 4.2426 1.9387 -4 5.6145 +5 24 -4.2426 0 4.2426 -4.2426 -4 4.2426 0 0 6 -6 -4 0 +5 24 -6 0 0 -6 -4 0 -4.2426 -4 4.2426 -4.2426 0 -4.2426 +5 24 -4.2426 0 -4.2426 -4.2426 -4 -4.2426 -6 0 0 0 -4 -6 +5 24 0 0 -6 0 -4 -6 -4.2426 -4 -4.2426 4.2426 0 -4.2426 +5 24 4.2426 0 -4.2426 4.2426 -4 -4.2426 0 0 -6 6 -4 0 +5 24 6 0 0 6 -4 0 4.2426 0 -4.2426 5.6145 -4 1.9387 +4 16 0 -4 6 6 -4 0 5.6145 -4 1.9387 1.9387 -4 5.6145 +3 16 6 -4 0 0 -4 6 -4.2426 -4 -4.2426 +4 16 0 -4 6 -4.2426 -4 4.2426 -6 -4 0 -4.2426 -4 -4.2426 +4 16 6 -4 0 -4.2426 -4 -4.2426 0 -4 -6 4.2426 -4 -4.2426 diff --git a/ImportLDraw/studs/8/stud2-copy.dat b/ImportLDraw/studs/8/stud2-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..4a9854e9bde6189610ae1158c90f1d89762c7bd8 --- /dev/null +++ b/ImportLDraw/studs/8/stud2-copy.dat @@ -0,0 +1,88 @@ +0 Stud Open (Fast-Draw) +0 Name: 8\stud2.dat +0 Author: James Jessiman +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-04-04 [sbliss] Modified for BFC compliance; compacted code +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +2 24 6 0 0 4.2 0 -4.2 +2 24 6 -4 0 4.2 -4 -4.2 +2 24 4 0 0 2.8 0 -2.8 +2 24 4 -4 0 2.8 -4 -2.8 +4 16 4 -4 0 2.8 -4 -2.8 4.2 -4 -4.2 6 -4 0 +4 16 6 0 0 6 -4 0 4.2 -4 -4.2 4.2 0 -4.2 +5 24 6 -4 0 6 0 0 4.2 -4 -4.2 4.2 -4 4.2 +4 16 4 0 0 2.8 0 -2.8 2.8 -4 -2.8 4 -4 0 +5 24 4 -4 0 4 0 0 2.8 -4 -2.8 2.8 -4 2.8 +2 24 4.2 0 -4.2 0 0 -6 +2 24 4.2 -4 -4.2 0 -4 -6 +2 24 2.8 0 -2.8 0 0 -4 +2 24 2.8 -4 -2.8 0 -4 -4 +4 16 2.8 -4 -2.8 0 -4 -4 0 -4 -6 4.2 -4 -4.2 +4 16 4.2 0 -4.2 4.2 -4 -4.2 0 -4 -6 0 0 -6 +5 24 4.2 -4 -4.2 4.2 0 -4.2 0 -4 -6 6 -4 0 +4 16 2.8 0 -2.8 0 0 -4 0 -4 -4 2.8 -4 -2.8 +5 24 2.8 -4 -2.8 2.8 0 -2.8 0 -4 -4 4 -4 0 +2 24 0 0 -6 -4.2 0 -4.2 +2 24 0 -4 -6 -4.2 -4 -4.2 +2 24 0 0 -4 -2.8 0 -2.8 +2 24 0 -4 -4 -2.8 -4 -2.8 +4 16 0 -4 -4 -2.8 -4 -2.8 -4.2 -4 -4.2 0 -4 -6 +4 16 0 0 -6 0 -4 -6 -4.2 -4 -4.2 -4.2 0 -4.2 +5 24 0 -4 -6 0 0 -6 -4.2 -4 -4.2 4.2 -4 -4.2 +4 16 0 0 -4 -2.8 0 -2.8 -2.8 -4 -2.8 0 -4 -4 +5 24 0 -4 -4 0 0 -4 -2.8 -4 -2.8 2.8 -4 -2.8 +2 24 -4.2 0 -4.2 -6 0 0 +2 24 -4.2 -4 -4.2 -6 -4 0 +2 24 -2.8 0 -2.8 -4 0 0 +2 24 -2.8 -4 -2.8 -4 -4 0 +4 16 -2.8 -4 -2.8 -4 -4 0 -6 -4 0 -4.2 -4 -4.2 +4 16 -4.2 0 -4.2 -4.2 -4 -4.2 -6 -4 0 -6 0 0 +5 24 -4.2 -4 -4.2 -4.2 0 -4.2 -6 -4 0 0 -4 -6 +4 16 -2.8 0 -2.8 -4 0 0 -4 -4 0 -2.8 -4 -2.8 +5 24 -2.8 -4 -2.8 -2.8 0 -2.8 -4 -4 0 0 -4 -4 +2 24 -6 0 0 -4.2 0 4.2 +2 24 -6 -4 0 -4.2 -4 4.2 +2 24 -4 0 0 -2.8 0 2.8 +2 24 -4 -4 0 -2.8 -4 2.8 +4 16 -4 -4 0 -2.8 -4 2.8 -4.2 -4 4.2 -6 -4 0 +4 16 -6 0 0 -6 -4 0 -4.2 -4 4.2 -4.2 0 4.2 +5 24 -6 -4 0 -6 0 0 -4.2 -4 4.2 -4.2 -4 -4.2 +4 16 -4 0 0 -2.8 0 2.8 -2.8 -4 2.8 -4 -4 0 +5 24 -4 -4 0 -4 0 0 -2.8 -4 2.8 -2.8 -4 -2.8 +2 24 -4.2 0 4.2 0 0 6 +2 24 -4.2 -4 4.2 0 -4 6 +2 24 -2.8 0 2.8 0 0 4 +2 24 -2.8 -4 2.8 0 -4 4 +4 16 -2.8 -4 2.8 0 -4 4 0 -4 6 -4.2 -4 4.2 +4 16 -4.2 0 4.2 -4.2 -4 4.2 0 -4 6 0 0 6 +5 24 -4.2 -4 4.2 -4.2 0 4.2 0 -4 6 -6 -4 0 +4 16 -2.8 0 2.8 0 0 4 0 -4 4 -2.8 -4 2.8 +5 24 -2.8 -4 2.8 -2.8 0 2.8 0 -4 4 -4 -4 0 +2 24 0 0 6 4.2 0 4.2 +2 24 0 -4 6 4.2 -4 4.2 +2 24 0 0 4 2.8 0 2.8 +2 24 0 -4 4 2.8 -4 2.8 +4 16 0 -4 4 2.8 -4 2.8 4.2 -4 4.2 0 -4 6 +4 16 0 0 6 0 -4 6 4.2 -4 4.2 4.2 0 4.2 +5 24 0 -4 6 0 0 6 4.2 -4 4.2 -4.2 -4 4.2 +4 16 0 0 4 2.8 0 2.8 2.8 -4 2.8 0 -4 4 +5 24 0 -4 4 0 0 4 2.8 -4 2.8 -2.8 -4 2.8 +2 24 4.2 0 4.2 6 0 0 +2 24 4.2 -4 4.2 6 -4 0 +2 24 2.8 0 2.8 4 0 0 +2 24 2.8 -4 2.8 4 -4 0 +4 16 2.8 -4 2.8 4 -4 0 6 -4 0 4.2 -4 4.2 +4 16 4.2 0 4.2 4.2 -4 4.2 6 -4 0 6 0 0 +5 24 4.2 -4 4.2 4.2 0 4.2 6 -4 0 0 -4 6 +4 16 2.8 0 2.8 4 0 0 4 -4 0 2.8 -4 2.8 +5 24 2.8 -4 2.8 2.8 0 2.8 4 -4 0 0 -4 4 diff --git a/ImportLDraw/studs/8/stud20-copy.dat b/ImportLDraw/studs/8/stud20-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..1af874d189b50a82f8a51dc1944f6eaf60447713 --- /dev/null +++ b/ImportLDraw/studs/8/stud20-copy.dat @@ -0,0 +1,31 @@ +0 Stud Duplo (Fast-Draw) +0 Name: 8\stud20.dat +0 Author: Steffen [Steffen] +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2013-07-21 [PTadmin] Official Update 2013-01 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +1 16 10.2 -5.5 -4.2 -1.8 -0.919145 0 0 0 5.5 -4.2 1 0 rect2p.dat +1 16 4.2 -5.5 -10.2 -4.2 -39.6 0 0 0 5.5 -1.8 92.4 0 rect2p.dat +1 16 -4.2 -5.5 -10.2 -4.2 0.3939193 0 0 0 5.5 1.8 1 0 rect2p.dat +1 16 -10.2 -5.5 -4.2 -1.8 0.919145 0 0 0 5.5 4.2 1 0 rect2p.dat +1 16 -10.2 -5.5 4.2 1.8 92.4 0 0 0 5.5 4.2 -39.6 0 rect2p.dat +1 16 -4.2 -5.5 10.2 4.2 0.3939193 0 0 0 5.5 1.8 -1 0 rect2p.dat +1 16 4.2 -5.5 10.2 4.2 -39.6 0 0 0 5.5 -1.8 -92.4 0 rect2p.dat +1 16 10.2 -5.5 4.2 1.8 -92.4 0 0 0 5.5 -4.2 -39.6 0 rect2p.dat +4 16 8.4 -11 -8.4 12 -11 0 0 -11 0 0 -11 -12 +4 16 -8.4 -11 -8.4 0 -11 -12 0 -11 0 -12 -11 0 +4 16 -8.4 -11 8.4 -12 -11 0 0 -11 0 0 -11 12 +4 16 8.4 -11 8.4 0 -11 12 0 -11 0 12 -11 0 +5 24 12 -11 0 12 0 0 8.4 -11 -8.4 8.4 -11 8.4 +5 24 8.4 -11 -8.4 8.4 0 -8.4 0 -11 -12 12 -11 0 +5 24 0 -11 -12 0 0 -12 -8.4 -11 -8.4 8.4 -11 -8.4 +5 24 -8.4 -11 -8.4 -8.4 0 -8.4 -12 -11 0 0 -11 -12 +5 24 -12 -11 0 -12 0 0 -8.4 -11 8.4 -8.4 -11 -8.4 +5 24 -8.4 -11 8.4 -8.4 0 8.4 0 -11 12 -12 -11 0 +5 24 0 -11 12 0 0 12 8.4 -11 8.4 -8.4 -11 8.4 +5 24 8.4 -11 8.4 8.4 0 8.4 12 -11 0 0 -11 12 diff --git a/ImportLDraw/studs/8/stud6-copy.dat b/ImportLDraw/studs/8/stud6-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..52dc1b2d73650990facee00413cb4ed8e26647bd --- /dev/null +++ b/ImportLDraw/studs/8/stud6-copy.dat @@ -0,0 +1,58 @@ +0 Stud Open For Round 2 x 2 Parts (Fast-Draw) +0 Name: 8\stud6.dat +0 Author: Steve Bliss [sbliss] +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2000-09-30 [PTadmin] Official Update 2000-02 +0 !HISTORY 2002-04-04 [sbliss] Modified for BFC compliance +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +1 16 0 0 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4edge.dat + +2 24 6 0 0 5.6145 0 1.9397 +2 24 1.9387 0 5.6145 0 0 6 + +2 24 5.6145 -4 1.9397 5.6145 0 1.9397 +2 24 6 -4 0 5.6145 -4 1.9397 +2 24 5.6145 -4 1.9397 4.142 -4 4.142 +2 24 4.142 -4 4.142 1.9387 -4 5.6145 +2 24 1.9387 -4 5.6145 0 -4 6 +2 24 1.9387 -4 5.6145 1.9387 0 5.6145 + +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4edge.DAT +1 16 0 -4 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 -4 0 4 0 0 0 4 0 0 0 4 4-4cyli.dat + +4 16 0 -4 6 -2.2962 -4 5.5434 -1.5308 -4 3.6956 0 -4 4 +4 16 -2.2962 -4 5.5434 -4.2426 -4 4.2426 -2.8284 -4 2.8284 -1.5308 -4 3.6956 +4 16 -4.2426 -4 4.2426 -5.5434 -4 2.2962 -3.6956 -4 1.5308 -2.8284 -4 2.8284 +4 16 -5.5434 -4 2.2962 -6 -4 0 -4 -4 0 -3.6956 -4 1.5308 +4 16 -6 -4 0 -5.5434 -4 -2.2962 -3.6956 -4 -1.5308 -4 -4 0 +4 16 -5.5434 -4 -2.2962 -4.2426 -4 -4.2426 -2.8284 -4 -2.8284 -3.6956 -4 -1.5308 +4 16 -4.2426 -4 -4.2426 -2.2962 -4 -5.5434 -1.5308 -4 -3.6956 -2.8284 -4 -2.8284 +4 16 -2.2962 -4 -5.5434 0 -4 -6 0 -4 -4 -1.5308 -4 -3.6956 +4 16 0 -4 -6 2.2962 -4 -5.5434 1.5308 -4 -3.6956 0 -4 -4 +4 16 2.2962 -4 -5.5434 4.2426 -4 -4.2426 2.8284 -4 -2.8284 1.5308 -4 -3.6956 +4 16 4.2426 -4 -4.2426 5.5434 -4 -2.2962 3.6956 -4 -1.5308 2.8284 -4 -2.8284 +4 16 5.5434 -4 -2.2962 6 -4 0 4 -4 0 3.6956 -4 -1.5308 +4 16 6 -4 0 5.6145 -4 1.9397 3.6956 -4 1.5308 4 -4 0 +4 16 5.6145 -4 1.9397 4.142 -4 4.142 2.8284 -4 2.8284 3.6956 -4 1.5308 +4 16 4.142 -4 4.142 1.9387 -4 5.6145 1.5308 -4 3.6956 2.8284 -4 2.8284 +4 16 1.9387 -4 5.6145 0 -4 6 0 -4 4 1.5308 -4 3.6956 + +1 16 0 -4 0 0 0 -6 0 4 0 6 0 0 3-4cyli.dat +5 24 4.142 -4 4.142 4.142 0 4.142 2.2962 -4 5.5434 5.5434 -4 2.2962 +4 16 6 0 0 5.6145 0 1.9397 5.6145 -4 1.9397 6 -4 0 +4 16 5.6145 0 1.9397 4.142 0 4.142 4.142 -4 4.142 5.6145 -4 1.9397 +4 16 4.142 0 4.142 1.9387 0 5.6145 1.9387 -4 5.6145 4.142 -4 4.142 +4 16 1.9387 0 5.6145 0 0 6 0 -4 6 1.9387 -4 5.6145 diff --git a/ImportLDraw/studs/8/stud6a-copy.dat b/ImportLDraw/studs/8/stud6a-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..ac155f821315f1c09a7e6390cc1f96fc08239d7c --- /dev/null +++ b/ImportLDraw/studs/8/stud6a-copy.dat @@ -0,0 +1,53 @@ +0 Stud Open For Round 2 x 2 Parts without Base Edges (Fast-Draw) +0 Name: 8\stud6a.dat +0 Author: Steve Bliss [sbliss] +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2000-09-30 [PTadmin] Official Update 2000-02 +0 !HISTORY 2002-08-31 [izanette] Modified with WINDZ for BFC compliance +0 !HISTORY 2003-08-01 [PTadmin] Official Update 2003-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +2 24 5.6145 -4 1.9397 5.6145 0 1.9397 +2 24 6 -4 0 5.6145 -4 1.9397 +2 24 5.6145 -4 1.9397 4.142 -4 4.142 +2 24 4.142 -4 4.142 1.9387 -4 5.6145 +2 24 1.9387 -4 5.6145 0 -4 6 +2 24 1.9387 -4 5.6145 1.9387 0 5.6145 + +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4edge.DAT +1 16 0 -4 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 -4 0 4 0 0 0 4 0 0 0 4 4-4cyli.dat + +4 16 0 -4 4 0 -4 6 -2.2962 -4 5.5434 -1.5308 -4 3.6956 +4 16 -1.5308 -4 3.6956 -2.2962 -4 5.5434 -4.2426 -4 4.2426 -2.8284 -4 2.8284 +4 16 -2.8284 -4 2.8284 -4.2426 -4 4.2426 -5.5434 -4 2.2962 -3.6956 -4 1.5308 +4 16 -3.6956 -4 1.5308 -5.5434 -4 2.2962 -6 -4 0 -4 -4 0 +4 16 -4 -4 0 -6 -4 0 -5.5434 -4 -2.2962 -3.6956 -4 -1.5308 +4 16 -3.6956 -4 -1.5308 -5.5434 -4 -2.2962 -4.2426 -4 -4.2426 -2.8284 -4 -2.8284 +4 16 -2.8284 -4 -2.8284 -4.2426 -4 -4.2426 -2.2962 -4 -5.5434 -1.5308 -4 -3.6956 +4 16 -1.5308 -4 -3.6956 -2.2962 -4 -5.5434 0 -4 -6 0 -4 -4 +4 16 0 -4 -4 0 -4 -6 2.2962 -4 -5.5434 1.5308 -4 -3.6956 +4 16 1.5308 -4 -3.6956 2.2962 -4 -5.5434 4.2426 -4 -4.2426 2.8284 -4 -2.8284 +4 16 2.8284 -4 -2.8284 4.2426 -4 -4.2426 5.5434 -4 -2.2962 3.6956 -4 -1.5308 +4 16 3.6956 -4 -1.5308 5.5434 -4 -2.2962 6 -4 0 4 -4 0 +4 16 4 -4 0 6 -4 0 5.6145 -4 1.9397 3.6956 -4 1.5308 +4 16 3.6956 -4 1.5308 5.6145 -4 1.9397 4.142 -4 4.142 2.8284 -4 2.8284 +4 16 2.8284 -4 2.8284 4.142 -4 4.142 1.9387 -4 5.6145 1.5308 -4 3.6956 +4 16 1.5308 -4 3.6956 1.9387 -4 5.6145 0 -4 6 0 -4 4 + +1 16 0 -4 0 0 0 -6 0 4 0 6 0 0 3-4cyli.dat +5 24 4.142 -4 4.142 4.142 0 4.142 2.2962 -4 5.5434 5.5434 -4 2.2962 +4 16 6 -4 0 6 0 0 5.6145 0 1.9397 5.6145 -4 1.9397 +4 16 5.6145 -4 1.9397 5.6145 0 1.9397 4.142 0 4.142 4.142 -4 4.142 +4 16 4.142 -4 4.142 4.142 0 4.142 1.9387 0 5.6145 1.9387 -4 5.6145 +4 16 1.9387 -4 5.6145 1.9387 0 5.6145 0 0 6 0 -4 6 + +0 + diff --git a/ImportLDraw/studs/8/stud7-copy.dat b/ImportLDraw/studs/8/stud7-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..a44193755a0f9fec48a8852c9711ec0a8230d995 --- /dev/null +++ b/ImportLDraw/studs/8/stud7-copy.dat @@ -0,0 +1,87 @@ +0 Stud Duplo Open (Fast-Draw) +0 Name: 8\stud7.dat +0 Author: Tony Hafner [hafhead] +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +2 24 12 0 0 8.49 0 -8.49 +2 24 12 -4 0 8.49 -4 -8.49 +2 24 9 0 0 6.36 0 -6.36 +2 24 9 -4 0 6.36 -4 -6.36 +4 16 9 -4 0 6.36 -4 -6.36 8.49 -4 -8.49 12 -4 0 +4 16 12 0 0 12 -4 0 8.49 -4 -8.49 8.49 0 -8.49 +5 24 12 -4 0 12 0 0 8.49 -4 -8.49 8.49 -4 8.49 +4 16 9 0 0 6.36 0 -6.36 6.36 -4 -6.36 9 -4 0 +5 24 9 -4 0 9 0 0 6.36 -4 -6.36 6.36 -4 6.36 +2 24 8.49 0 -8.49 0 0 -12 +2 24 8.49 -4 -8.49 0 -4 -12 +2 24 6.36 0 -6.36 0 0 -9 +2 24 6.36 -4 -6.36 0 -4 -9 +4 16 6.36 -4 -6.36 0 -4 -9 0 -4 -12 8.49 -4 -8.49 +4 16 8.49 0 -8.49 8.49 -4 -8.49 0 -4 -12 0 0 -12 +5 24 8.49 -4 -8.49 8.49 0 -8.49 0 -4 -12 12 -4 0 +4 16 6.36 0 -6.36 0 0 -9 0 -4 -9 6.36 -4 -6.36 +5 24 6.36 -4 -6.36 6.36 0 -6.36 0 -4 -9 9 -4 0 +2 24 0 0 -12 -8.49 0 -8.49 +2 24 0 -4 -12 -8.49 -4 -8.49 +2 24 0 0 -9 -6.36 0 -6.36 +2 24 0 -4 -9 -6.36 -4 -6.36 +4 16 0 -4 -9 -6.36 -4 -6.36 -8.49 -4 -8.49 0 -4 -12 +4 16 0 0 -12 0 -4 -12 -8.49 -4 -8.49 -8.49 0 -8.49 +5 24 0 -4 -12 0 0 -12 -8.49 -4 -8.49 8.49 -4 -8.49 +4 16 0 0 -9 -6.36 0 -6.36 -6.36 -4 -6.36 0 -4 -9 +5 24 0 -4 -9 0 0 -9 -6.36 -4 -6.36 6.36 -4 -6.36 +2 24 -8.49 0 -8.49 -12 0 0 +2 24 -8.49 -4 -8.49 -12 -4 0 +2 24 -6.36 0 -6.36 -9 0 0 +2 24 -6.36 -4 -6.36 -9 -4 0 +4 16 -6.36 -4 -6.36 -9 -4 0 -12 -4 0 -8.49 -4 -8.49 +4 16 -8.49 0 -8.49 -8.49 -4 -8.49 -12 -4 0 -12 0 0 +5 24 -8.49 -4 -8.49 -8.49 0 -8.49 -12 -4 0 0 -4 -12 +4 16 -6.36 0 -6.36 -9 0 0 -9 -4 0 -6.36 -4 -6.36 +5 24 -6.36 -4 -6.36 -6.36 0 -6.36 -9 -4 0 0 -4 -9 +2 24 -12 0 0 -8.49 0 8.49 +2 24 -12 -4 0 -8.49 -4 8.49 +2 24 -9 0 0 -6.36 0 6.36 +2 24 -9 -4 0 -6.36 -4 6.36 +4 16 -9 -4 0 -6.36 -4 6.36 -8.49 -4 8.49 -12 -4 0 +4 16 -12 0 0 -12 -4 0 -8.49 -4 8.49 -8.49 0 8.49 +5 24 -12 -4 0 -12 0 0 -8.49 -4 8.49 -8.49 -4 -8.49 +4 16 -9 0 0 -6.36 0 6.36 -6.36 -4 6.36 -9 -4 0 +5 24 -9 -4 0 -9 0 0 -6.36 -4 6.36 -6.36 -4 -6.36 +2 24 -8.49 0 8.49 0 0 12 +2 24 -8.49 -4 8.49 0 -4 12 +2 24 -6.36 0 6.36 0 0 9 +2 24 -6.36 -4 6.36 0 -4 9 +4 16 -6.36 -4 6.36 0 -4 9 0 -4 12 -8.49 -4 8.49 +4 16 -8.49 0 8.49 -8.49 -4 8.49 0 -4 12 0 0 12 +5 24 -8.49 -4 8.49 -8.49 0 8.49 0 -4 12 -12 -4 0 +4 16 -6.36 0 6.36 0 0 9 0 -4 9 -6.36 -4 6.36 +5 24 -6.36 -4 6.36 -6.36 0 6.36 0 -4 9 -9 -4 0 +2 24 0 0 12 8.49 0 8.49 +2 24 0 -4 12 8.49 -4 8.49 +2 24 0 0 9 6.36 0 6.36 +2 24 0 -4 9 6.36 -4 6.36 +4 16 0 -4 9 6.36 -4 6.36 8.49 -4 8.49 0 -4 12 +4 16 0 0 12 0 -4 12 8.49 -4 8.49 8.49 0 8.49 +5 24 0 -4 12 0 0 12 8.49 -4 8.49 -8.49 -4 8.49 +4 16 0 0 9 6.36 0 6.36 6.36 -4 6.36 0 -4 9 +5 24 0 -4 9 0 0 9 6.36 -4 6.36 -6.36 -4 6.36 +2 24 8.49 0 8.49 12 0 0 +2 24 8.49 -4 8.49 12 -4 0 +2 24 6.36 0 6.36 9 0 0 +2 24 6.36 -4 6.36 9 -4 0 +4 16 6.36 -4 6.36 9 -4 0 12 -4 0 8.49 -4 8.49 +4 16 8.49 0 8.49 8.49 -4 8.49 12 -4 0 12 0 0 +5 24 8.49 -4 8.49 8.49 0 8.49 12 -4 0 0 -4 12 +4 16 6.36 0 6.36 9 0 0 9 -4 0 6.36 -4 6.36 +5 24 6.36 -4 6.36 6.36 0 6.36 9 -4 0 0 -4 9 diff --git a/ImportLDraw/studs/8/studa-copy.dat b/ImportLDraw/studs/8/studa-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..d392fbf8f748219c6d8301fcfcbdaf43c646ed8c --- /dev/null +++ b/ImportLDraw/studs/8/studa-copy.dat @@ -0,0 +1,45 @@ +0 Stud without Base Edges (Fast-Draw) +0 Name: 8\studa.dat +0 Author: Niels Karsdorp [nielsk] +0 !LDRAW_ORG 8_Primitive UPDATE 2013-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2010-12-31 [PTadmin] Official Update 2010-03 +0 !HISTORY 2013-09-12 [PTadmin] Renamed from stu2a +0 !HISTORY 2013-12-23 [PTadmin] Official Update 2013-02 + +2 24 6 -4 0 4.2 -4 -4.2 +3 16 4.2 -4 -4.2 6 -4 0 0 -4 0 +4 16 6 0 0 6 -4 0 4.2 -4 -4.2 4.2 0 -4.2 +5 24 6 -4 0 6 0 0 4.2 -4 -4.2 4.2 -4 4.2 +2 24 4.2 -4 -4.2 0 -4 -6 +3 16 0 -4 -6 4.2 -4 -4.2 0 -4 0 +4 16 4.2 0 -4.2 4.2 -4 -4.2 0 -4 -6 0 0 -6 +5 24 4.2 -4 -4.2 4.2 0 -4.2 0 -4 -6 6 -4 0 +2 24 0 -4 -6 -4.2 -4 -4.2 +3 16 -4.2 -4 -4.2 0 -4 -6 0 -4 0 +4 16 0 0 -6 0 -4 -6 -4.2 -4 -4.2 -4.2 0 -4.2 +5 24 0 -4 -6 0 0 -6 -4.2 -4 -4.2 4.2 -4 -4.2 +2 24 -4.2 -4 -4.2 -6 -4 0 +3 16 -6 -4 0 -4.2 -4 -4.2 0 -4 0 +4 16 -4.2 0 -4.2 -4.2 -4 -4.2 -6 -4 0 -6 0 0 +5 24 -4.2 -4 -4.2 -4.2 0 -4.2 -6 -4 0 0 -4 -6 +2 24 -6 -4 0 -4.2 -4 4.2 +3 16 -4.2 -4 4.2 -6 -4 0 0 -4 0 +4 16 -6 0 0 -6 -4 0 -4.2 -4 4.2 -4.2 0 4.2 +5 24 -6 -4 0 -6 0 0 -4.2 -4 4.2 -4.2 -4 -4.2 +2 24 -4.2 -4 4.2 0 -4 6 +3 16 0 -4 6 -4.2 -4 4.2 0 -4 0 +4 16 -4.2 0 4.2 -4.2 -4 4.2 0 -4 6 0 0 6 +5 24 -4.2 -4 4.2 -4.2 0 4.2 0 -4 6 -6 -4 0 +2 24 0 -4 6 4.2 -4 4.2 +3 16 4.2 -4 4.2 0 -4 6 0 -4 0 +4 16 0 0 6 0 -4 6 4.2 -4 4.2 4.2 0 4.2 +5 24 0 -4 6 0 0 6 4.2 -4 4.2 -4.2 -4 4.2 +2 24 4.2 -4 4.2 6 -4 0 +3 16 6 -4 0 4.2 -4 4.2 0 -4 0 +4 16 4.2 0 4.2 4.2 -4 4.2 6 -4 0 6 0 0 +5 24 4.2 -4 4.2 4.2 0 4.2 6 -4 0 0 -4 6 +0 diff --git a/ImportLDraw/studs/STUD-copy.DAT b/ImportLDraw/studs/STUD-copy.DAT new file mode 100644 index 0000000000000000000000000000000000000000..df15721594d49370a0432385eee83e2df4212937 --- /dev/null +++ b/ImportLDraw/studs/STUD-copy.DAT @@ -0,0 +1,19 @@ +0 Stud +0 Name: stud.dat +0 Author: James Jessiman +0 !LDRAW_ORG Primitive UPDATE 2012-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-04-04 [sbliss] Modified for BFC compliance +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 + +1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 -4 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 0 0 6 0 0 0 -4 0 0 0 6 4-4cyli.dat +1 16 0 -4 0 6 0 0 0 1 0 0 0 6 4-4disc.dat diff --git a/ImportLDraw/studs/STUD2-copy.DAT b/ImportLDraw/studs/STUD2-copy.DAT new file mode 100644 index 0000000000000000000000000000000000000000..73130aa8bfb7c239fe75f9adb0fa10048ee88dd8 --- /dev/null +++ b/ImportLDraw/studs/STUD2-copy.DAT @@ -0,0 +1,25 @@ +0 Stud Open +0 Name: stud2.dat +0 Author: James Jessiman +0 !LDRAW_ORG Primitive UPDATE 2009-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 1999-07-05 [PTadmin] Official Update 1999-05 +0 !HISTORY 2002-04-04 [sbliss] Modified for BFC compliance +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2009-06-21 [cwdee] Update ring references to 4-4ring +0 !HISTORY 2009-09-03 [PTadmin] Official Update 2009-02 + + 1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4edge.dat + 1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4edge.dat + 1 16 0 -4 0 4 0 0 0 1 0 0 0 4 4-4edge.dat + 1 16 0 -4 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +0 BFC INVERTNEXT + 1 16 0 -4 0 4 0 0 0 4 0 0 0 4 4-4cyli.dat + 1 16 0 -4 0 6 0 0 0 4 0 0 0 6 4-4cyli.dat + 1 16 0 -4 0 2 0 0 0 1 0 0 0 2 4-4ring2.dat +0 diff --git a/ImportLDraw/studs/logo3.dat b/ImportLDraw/studs/logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..121038deb1cc0f5e2cac7bbee9b4b9c750c5cefb --- /dev/null +++ b/ImportLDraw/studs/logo3.dat @@ -0,0 +1,151 @@ +0 LEGO Logo for Studs - 3D with Sharp Top +0 Name: logo3.dat +0 Author: J.C. Tchang [tchang] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2010-06-21 [tchang] New Primitive +0 !HISTORY 2014-01-02 [Steffen] uploaded to parts tracker + +1 16 2.25 -0.2 -3.3 0.25 0 0 0 0.2 0 0 0 0.25 2-4cylc.dat +1 16 -1.95 -0.2 -3.5 0 0 -0.25 0 0.2 0 0.25 0 0 2-4cylc.dat +1 16 2.25 -0.2 -4.4 0 0 0.25 0 0.2 0 -0.25 0 0 1-4cylc.dat +4 16 2.5 -0.2 -4.4 2.5 -0.2 -3.3 2 -0.2 -3.3 2.25 -0.2 -4.4 +4 16 2.25 -0.2 -4.4 -1.95 -0.2 -3.25 -1.95 -0.2 -3.75 2.25 -0.2 -4.65 +3 16 2 -0.2 -4.15 -1.95 -0.2 -3.25 2.25 -0.2 -4.4 +3 16 2.25 -0.2 -4.4 2 -0.2 -3.3 2 -0.2 -4.15 +2 24 2.5 -0.2 -4.4 2.5 -0.2 -3.3 +2 24 2.5 0 -4.4 2.5 0 -3.3 +4 16 2.5 0 -4.4 2.5 0 -3.3 2.5 -0.2 -3.3 2.5 -0.2 -4.4 +2 24 -1.95 -0.2 -3.75 2.25 -0.2 -4.65 +2 24 -1.95 0 -3.75 2.25 0 -4.65 +4 16 -1.95 0 -3.75 2.25 0 -4.65 2.25 -0.2 -4.65 -1.95 -0.2 -3.75 +2 24 2 -0.2 -4.15 -1.95 -0.2 -3.25 +2 24 2 0 -4.15 -1.95 0 -3.25 +4 16 2 0 -4.15 -1.95 0 -3.25 -1.95 -0.2 -3.25 2 -0.2 -4.15 +2 24 2 -0.2 -3.3 2 -0.2 -4.15 +2 24 2 0 -3.3 2 0 -4.15 +4 16 2 0 -3.3 2 0 -4.15 2 -0.2 -4.15 2 -0.2 -3.3 +2 24 2 -0.2 -4.15 2 0 -4.15 +0 // +1 16 -1.95 -0.2 -0.2 0.25 0 0 0 0.2 0 0 0 0.25 2-4cylc.dat +1 16 0.1 -0.2 -1.1 0.25 0 0 0 0.2 0 0 0 0.25 2-4cylc.dat +1 16 2.25 -0.2 -1.2 0.25 0 0 0 0.2 0 0 0 0.25 2-4cylc.dat +1 16 -1.95 -0.2 -1.3 -0.25 0 0 0 0.2 0 0 0 -0.25 1-4cylc.dat +1 16 2.25 -0.2 -2.3 0 0 0.25 0 0.2 0 -0.25 0 0 1-4cylc.dat +4 16 2.25 -0.2 -2.3 2.5 -0.2 -2.3 2.5 -0.2 -1.2 2 -0.2 -1.2 +4 16 -0.15 -0.2 -1.55 0.35 -0.2 -1.65 0.35 -0.2 -1.1 -0.15 -0.2 -1.1 +4 16 2.25 -0.2 -2.55 0.35 -0.2 -1.65 -0.15 -0.2 -1.55 -1.95 -0.2 -1.55 +4 16 0.35 -0.2 -1.65 2.25 -0.2 -2.55 2.253 -0.2 -2.3 2 -0.2 -2.05 +3 16 2 -0.2 -2.05 2.25 -0.2 -2.3 2 -0.2 -1.2 +4 16 -1.7 -0.2 -0.2 -2.2 -0.2 -0.2 -2.2 -0.2 -1.3 -1.95 -0.2 -1.3 +4 16 -1.7 -0.2 -1.15 -1.95 -0.2 -1.3 -1.95 -0.2 -1.55 -0.15 -0.2 -1.55 +3 16 -1.95 -0.2 -1.3 -1.7 -0.2 -1.15 -1.7 -0.2 -0.2 +2 24 2.5 -0.2 -2.3 2.5 -0.2 -1.2 +2 24 2.5 0 -2.3 2.5 0 -1.2 +4 16 2.5 0 -2.3 2.5 0 -1.2 2.5 -0.2 -1.2 2.5 -0.2 -2.3 +2 24 0.35 -0.2 -1.65 0.35 -0.2 -1.1 +2 24 0.35 0 -1.65 0.35 0 -1.1 +2 24 0.35 0 -1.65 0.35 -0.2 -1.65 +4 16 0.35 0 -1.65 0.35 0 -1.1 0.35 -0.2 -1.1 0.35 -0.2 -1.65 +2 24 -0.15 -0.2 -1.55 -0.15 -0.2 -1.1 +2 24 -0.15 0 -1.55 -0.15 0 -1.1 +2 24 -0.15 -0.2 -1.55 -0.15 0 -1.55 +4 16 -0.15 -0.2 -1.55 -0.15 -0.2 -1.1 -0.15 0 -1.1 -0.15 0 -1.55 +2 24 2.25 -0.2 -2.55 -1.95 -0.2 -1.55 +2 24 2.25 0 -2.55 -1.95 0 -1.55 +4 16 2.25 -0.2 -2.55 -1.95 -0.2 -1.55 -1.95 0 -1.55 2.25 0 -2.55 +2 24 0.35 -0.2 -1.65 2 -0.2 -2.05 +2 24 0.35 0 -1.65 2 0 -2.05 +4 16 0.35 -0.2 -1.65 2 -0.2 -2.05 2 0 -2.05 0.35 0 -1.65 +2 24 2 -0.2 -2.05 2 -0.2 -1.2 +2 24 2 0 -2.05 2 0 -1.2 +2 24 2 -0.2 -2.05 2 0 -2.05 +4 16 2 -0.2 -2.05 2 -0.2 -1.2 2 0 -1.2 2 0 -2.05 +2 24 -2.2 -0.2 -0.2 -2.2 -0.2 -1.3 +2 24 -2.2 0 -0.2 -2.2 0 -1.3 +4 16 -2.2 0 -0.2 -2.2 0 -1.3 -2.2 -0.2 -1.3 -2.2 -0.2 -0.2 +2 24 -1.7 -0.2 -1.15 -0.15 -0.2 -1.55 +2 24 -1.7 0 -1.15 -0.15 0 -1.55 +4 16 -1.7 -0.2 -1.15 -0.15 -0.2 -1.55 -0.15 0 -1.55 -1.7 0 -1.15 +2 24 -1.7 -0.2 -1.15 -1.7 -0.2 -0.2 +2 24 -1.7 0 -1.15 -1.7 0 -0.2 +2 24 -1.7 -0.2 -1.15 -1.7 0 -1.15 +4 16 -1.7 0 -1.15 -1.7 0 -0.2 -1.7 -0.2 -0.2 -1.7 -0.2 -1.15 +0 // +1 16 -1.2 -0.2 1.2 0.1294 0 -0.483 0 1 0 0.483 0 0.1294 2-4ring1.dat +1 16 -1.2 -0.2 1.2 0.1294 0 -0.483 0 1 0 0.483 0 0.1294 2-4edge.dat +1 16 -1.2 -0.2 1.2 0.258819 0 -0.965926 0 1 0 0.965926 0 0.258819 2-4edge.dat +1 16 -1.2 -0.2 1.2 0.258819 0 -0.965926 0 0.2 0 0.965926 0 0.258819 2-4cyli.dat +1 16 -1.2 0 1.2 0.258819 0 -0.965926 0 1 0 0.965926 0 0.258819 2-4edge.dat +0 BFC INVERTNEXT +1 16 -1.2 -0.2 1.2 0.1294 0 -0.483 0 0.2 0 0.483 0 0.1294 2-4cyli.dat +1 16 -1.2 0 1.2 0.1294 0 -0.483 0 1 0 0.483 0 0.1294 2-4edge.dat +1 16 1.5 -0.2 0.5 -0.1294 0 0.483 0 0.5 0 -0.483 0 -0.1294 2-4ring1.dat +1 16 1.5 -0.2 0.5 -0.1294 0 0.483 0 1 0 -0.483 0 -0.1294 2-4edge.dat +1 16 1.5 -0.2 0.5 -0.258819 0 0.965926 0 1 0 -0.965926 0 -0.258819 2-4edge.dat +1 16 1.5 -0.2 0.5 -0.258819 0 0.965926 0 0.2 0 -0.965926 0 -0.258819 2-4cyli.dat +1 16 1.5 0 0.5 -0.258819 0 0.965926 0 1 0 -0.965926 0 -0.258819 2-4edge.dat +0 BFC INVERTNEXT +1 16 1.5 -0.2 0.5 -0.1294 0 0.483 0 0.2 0 -0.483 0 -0.1294 2-4cyli.dat +1 16 1.5 0 0.5 -0.1294 0 0.483 0 1 0 -0.483 0 -0.1294 2-4edge.dat +1 16 0.1 -0.2 0.85 -0.25 0 0 0 0.2 0 0 0 -0.25 2-4cylc.dat +1 16 0.1 -0.2 1.6 0 0 -0.25 0 0.2 0 0.25 0 0 1-4cylc.dat +1 16 -1.006 -0.2 1.924 -0.0647 0 0.2415 0 0.2 0 -0.2415 0 -0.0647 2-4cylc.dat +4 16 -1.3294 -0.2 0.717 -1.4588 -0.2 0.2341 1.2412 -0.2 -0.4659 1.3706 -0.2 0.017 +4 16 0.1 -0.2 1.6 -0.15 -0.2 1.6 -0.15 -0.2 0.85 0.35 -0.2 0.85 +4 16 0.1 -0.2 1.6 1.6294 -0.2 0.983 1.7588 -0.2 1.4659 0.1 -0.2 1.85 +3 16 0.1 -0.2 1.6 0.35 -0.2 0.85 0.35 -0.2 1.35 +3 16 0.1 -0.2 1.6 0.35 -0.2 1.35 1.6294 -0.2 0.983 +2 24 -1.4588 -0.2 0.2341 1.2412 -0.2 -0.4659 +2 24 -1.4588 0 0.2341 1.2412 0 -0.4659 +4 16 -1.4588 0 0.2341 1.2412 0 -0.4659 1.2412 -0.2 -0.4659 -1.4588 -0.2 0.2341 +2 24 -1.3294 -0.2 0.717 1.3706 -0.2 0.017 +2 24 -1.3294 0 0.717 1.3706 0 0.017 +4 16 -1.3294 -0.2 0.717 1.3706 -0.2 0.017 1.3706 0 0.017 -1.3294 0 0.717 +2 24 -0.15 -0.2 1.6 -0.15 -0.2 0.85 +2 24 -0.15 0 1.6 -0.15 0 0.85 +4 16 -0.15 0 1.6 -0.15 0 0.85 -0.15 -0.2 0.85 -0.15 -0.2 1.6 +2 24 1.7588 -0.2 1.4659 0.1 -0.2 1.85 +2 24 1.7588 0 1.4659 0.1 0 1.85 +4 16 1.7588 0 1.4659 0.1 0 1.85 0.1 -0.2 1.85 1.7588 -0.2 1.4659 +2 24 0.35 -0.2 0.85 0.35 -0.2 1.35 +2 24 0.35 0 0.85 0.35 0 1.35 +2 24 0.35 -0.2 1.35 0.35 0 1.35 +4 16 0.35 0 0.85 0.35 0 1.35 0.35 -0.2 1.35 0.35 -0.2 0.85 +2 24 0.35 -0.2 1.35 1.6294 -0.2 0.983 +2 24 0.35 0 1.35 1.6294 0 0.983 +4 16 0.35 0 1.35 1.6294 0 0.983 1.6294 -0.2 0.983 0.35 -0.2 1.35 +0 // +1 16 -1.2 -0.2 3.6 0.1294 0 -0.483 0 0.5 0 0.483 0 0.1294 2-4ring1.dat +1 16 -1.2 -0.2 3.6 0.1294 0 -0.483 0 1 0 0.483 0 0.1294 2-4edge.dat +0 BFC INVERTNEXT +1 16 -1.2 -0.2 3.6 0.1294 0 -0.483 0 0.2 0 0.483 0 0.1294 2-4cyli.dat +1 16 -1.2 0 3.6 0.1294 0 -0.483 0 1 0 0.483 0 0.1294 2-4edge.dat +1 16 -1.2 -0.2 3.6 0.258819 0 -0.965926 0 1 0 0.965926 0 0.258819 2-4edge.dat +1 16 -1.2 -0.2 3.6 0.258819 0 -0.965926 0 0.2 0 0.965926 0 0.258819 2-4cyli.dat +1 16 -1.2 0 3.6 0.258819 0 -0.965926 0 1 0 0.965926 0 0.258819 2-4edge.dat +1 16 1.5 -0.2 2.9 -0.1294 0 0.483 0 0.5 0 -0.483 0 -0.1294 2-4ring1.dat +1 16 1.5 -0.2 2.9 -0.1294 0 0.483 0 1 0 -0.483 0 -0.1294 2-4edge.dat +0 BFC INVERTNEXT +1 16 1.5 -0.2 2.9 -0.1294 0 0.483 0 0.2 0 -0.483 0 -0.1294 2-4cyli.dat +1 16 1.5 0 2.9 -0.1294 0 0.483 0 1 0 -0.483 0 -0.1294 2-4edge.dat +1 16 1.5 -0.2 2.9 0.258819 0 0.965926 0 1 0 0.965926 0 -0.258819 2-4edge.dat +1 16 1.5 -0.2 2.9 0.258819 0 0.965926 0 0.2 0 0.965926 0 -0.258819 2-4cyli.dat +1 16 1.5 0 2.9 0.258819 0 0.965926 0 1 0 0.965926 0 -0.258819 2-4edge.dat +4 16 1.7588 -0.2 3.8659 -0.9412 -0.2 4.5659 -1.0706 -0.2 4.083 1.6294 -0.2 3.383 +4 16 1.2412 -0.2 1.9341 1.3706 -0.2 2.417 -1.3294 -0.2 3.117 -1.4588 -0.2 2.6341 +2 24 1.7588 -0.2 3.8659 -0.9412 -0.2 4.5659 +2 24 1.7588 0 3.8659 -0.9412 0 4.5659 +4 16 1.7588 0 3.8659 -0.9412 0 4.5659 -0.9412 -0.2 4.5659 1.7588 -0.2 3.8659 +2 24 -1.0706 -0.2 4.083 1.6294 -0.2 3.383 +2 24 -1.0706 0 4.083 1.6294 0 3.383 +4 16 -1.0706 0 4.083 1.6294 0 3.383 1.6294 -0.2 3.383 -1.0706 -0.2 4.083 +2 24 1.3706 -0.2 2.417 -1.3294 -0.2 3.117 +2 24 1.3706 0 2.417 -1.3294 0 3.117 +4 16 1.3706 0 2.417 -1.3294 0 3.117 -1.3294 -0.2 3.117 1.3706 -0.2 2.417 +2 24 1.2412 -0.2 1.9341 -1.4588 -0.2 2.6341 +2 24 1.2412 0 1.9341 -1.4588 0 2.6341 +4 16 1.2412 -0.2 1.9341 -1.4588 -0.2 2.6341 -1.4588 0 2.6341 1.2412 0 1.9341 \ No newline at end of file diff --git a/ImportLDraw/studs/logo4.dat b/ImportLDraw/studs/logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..388245f1386f30e6b5381a59529c6de7da9f13ce --- /dev/null +++ b/ImportLDraw/studs/logo4.dat @@ -0,0 +1,73 @@ +0 LEGO Logo for Studs - 3D with Rounded Top +0 Name: logo4.dat +0 Author: J.C. Tchang [tchang] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2010-06-21 [tchang] New Primitive +0 !HISTORY 2014-01-02 [Steffen] uploaded to parts tracker +0 !HISTORY 2014-12-27 [Steffen] cured matrix column all zeros warning +0 !HISTORY 2016-06-03 [tnelson] centred logo +0 !HISTORY 2016-06-06 [tnelson] removed edges + +0 // L +1 16 2.14 0 -3.17 0.25 0 0 0 -0.2 0 0 0 0.25 2-8sphe.dat +1 16 2.14 0 -4.27 0 0 0.25 0 -0.2 0 -0.25 0 0 1-8sphe.dat +1 16 2.14 0 -3.17 0.25 0 0 0 0 -0.2 0 -1.1 0 1-4cyli.dat +1 16 2.14 0 -3.17 -0.25 0 0 0 0 -0.2 0 -0.7845 0 1-4cyli.dat +1 16 2.14 0 -3.954 -0.25 0 0 0 0 -0.2 0 -0.3155 0 1-4cyls.dat +1 16 -2.06 0 -3.17 0 0 -0.25 0 -0.2 0 0.25 0 0 2-8sphe.dat +1 16 -2.06 0 -3.17 0 4.2 0 0 0 -0.2 -0.25 -1.1 0 1-4cyli.dat +1 16 -2.06 0 -3.17 0 3.95 0 0 0 -0.2 0.25 -1.0345 0 1-4cyli.dat +1 16 1.89 0 -4.204 0 0.25 0 0 0 -0.2 0.25 -0.0655 0 1-4cyls.dat + +0 // E +1 16 -2.06 0 0.03 0.25 0 0 0 -0.2 0 0 0 0.25 2-8sphe.dat +1 16 -0.01 0 -0.87 0.25 0 0 0 -0.2 0 0 0 0.25 2-8sphe.dat +1 16 2.14 0 -1.07 0.25 0 0 0 -0.2 0 0 0 0.25 2-8sphe.dat +1 16 2.14 0 -2.17 0 0 0.25 0 -0.2 0 -0.25 0 0 1-8sphe.dat +1 16 -2.06 0 -1.07 -0.25 0 0 0 -0.2 0 0 0 -0.25 1-8sphe.dat +1 16 -2.06 0 -1.07 0 4.2 0 0 0 -0.2 -0.25 -1.1 0 1-4cyli.dat +1 16 -1.81 0 -1.136 0 1.55 0 0 0 -0.2 0.25 -0.406 0 1-4cyli.dat +1 16 0.24 0 -1.672 0 1.65 0 0 0 -0.2 0.25 -0.4321 0 1-4cyli.dat +1 16 1.89 0 -2.104 0 0.25 0 0 0 -0.2 0.25 -0.06548 0 1-4cyls.dat +1 16 0.24 0 -1.672 0 -0.25 0 0 0 -0.2 0.25 0.0655 0 1-4cyls.dat +1 16 -0.26 0 -1.541 0 0.25 0 0 0 -0.2 0.25 -0.0655 0 1-4cyls.dat +1 16 -1.81 0 -1.136 0 -0.25 0 0 0 -0.2 0.25 0.0655 0 1-4cyls.dat +1 16 2.14 0 -1.07 -0.25 0 0 0 0 -0.2 0 -0.7845 0 1-4cyli.dat +1 16 2.14 0 -1.854 -0.25 0 0 0 0 -0.2 0 -0.3155 0 1-4cyls.dat +1 16 2.14 0 -1.07 0.25 0 0 0 0 -0.2 0 -1.1 0 1-4cyli.dat +1 16 -0.01 0 -1.291 -0.25 0 0 0 0 -0.2 0 -0.3155 0 1-4cyls.dat +1 16 -0.01 0 -1.422 0.25 0 0 0 0 -0.2 0 -0.1845 0 1-4cyls.dat +1 16 -0.01 0 -0.87 0.25 0 0 0 0 -0.2 0 -0.5524 0 1-4cyli.dat +1 16 -0.01 0 -0.87 -0.25 0 0 0 0 -0.2 0 -0.4214 0 1-4cyli.dat +1 16 -2.06 0 -0.886 0.25 0 0 0 0 -0.2 0 -0.1845 0 1-4cyls.dat +1 16 -2.06 0 0.03 0.25 0 0 0 0 -0.2 0 -0.9155 0 1-4cyli.dat +1 16 -2.06 0 0.03 -0.25 0 0 0 0 -0.2 0 -1.1 0 1-4cyli.dat + +0 // G +1 16 1.39 0 0.63 -0.194 0 0.724 0 -0.6 0 -0.724 0 -0.194 t02i3333.dat +1 16 1.39 0 0.63 -0.194 0 0.724 0 -0.6 0 -0.724 0 -0.194 t02o3333.dat +1 16 -1.304 0 1.352 0.194 0 -0.724 0 -0.6 0 0.724 0 0.194 t02i3333.dat +1 16 -1.304 0 1.352 0.194 0 -0.724 0 -0.6 0 0.724 0 0.194 t02o3333.dat +1 16 1.196 0 -0.094 0.065 -2.695 0 0 0 -0.2 0.241 0.722 0 2-4cyli.dat +1 16 -0.01 0 0.98 -0.25 0 0 0 -0.2 0 0 0 -0.25 2-8sphe.dat +1 16 -1.111 0 2.076 -0.065 0 0.241 0 -0.2 0 -0.241 0 -0.065 2-8sphe.dat +1 16 -0.01 0 1.781 0 0 -0.25 0 -0.2 0 0.259 0 0 1-8sphe.dat +1 16 -0.01 0 0.98 -0.25 0 0 0 0 -0.2 0 0.801 0 1-4cyli.dat +1 16 -0.01 0 0.98 0.25 0 0 0 0 -0.2 0 0.475 0 1-4cyli.dat +1 16 1.519 0 1.371 0 0.065 0 0 0 -0.2 -0.259 -0.017 0 2-4cyls.dat +1 16 1.519 0 1.371 0 -1.279 0 0 0 -0.2 -0.259 0.343 0 1-4cyli.dat +1 16 1.519 0 1.371 0 -1.529 0 0 0 -0.2 0.259 0.41 0 1-4cyli.dat +1 16 -0.01 0 1.455 0.25 0 0 0 0 -0.2 0 0.326 0 1-4cyls.dat +1 16 0.24 0 1.714 0 -0.25 0 0 0 -0.2 -0.259 0.067 0 1-4cyls.dat + +0 // Letter O +1 16 1.39 0 3.03 -0.194 0 0.724 0 -0.6 0 -0.724 0 -0.194 t02i3333.dat +1 16 1.39 0 3.03 -0.194 0 0.724 0 -0.6 0 -0.724 0 -0.194 t02o3333.dat +1 16 -1.304 0 3.752 0.194 0 -0.724 0 -0.6 0 0.724 0 0.194 t02i3333.dat +1 16 -1.304 0 3.752 0.194 0 -0.724 0 -0.6 0 0.724 0 0.194 t02o3333.dat +1 16 1.584 0 3.754 0.065 -2.695 0 0 0 -0.2 0.241 0.722 0 2-4cyli.dat +1 16 1.196 0 2.306 0.065 -2.695 0 0 0 -0.2 0.241 0.722 0 2-4cyli.dat diff --git a/ImportLDraw/studs/logo5.dat b/ImportLDraw/studs/logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..943e7d10fdf0c988b1b635e7a5ec26ef374097e4 --- /dev/null +++ b/ImportLDraw/studs/logo5.dat @@ -0,0 +1,1001 @@ +0 LEGO Logo for Studs - 3D Flattened +0 Name: logo5.dat +0 Author: Magnus Forsberg [MagFors] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2010-06-21 [MagFors] created as s\4481s05.dat +0 !HISTORY 2014-01-02 [Steffen] converted to primitive +0 !HISTORY 2015-03-04 [MagFors] increased the decimals to four + +2 24 2.01 0 -4.6875 2.1162 0 -4.6664 +2 24 2.1162 0 -4.6664 2.2062 0 -4.6062 +2 24 2.2062 0 -4.6062 2.2664 0 -4.5162 +2 24 2.2664 0 -4.5162 2.2875 0 -4.41 +2 24 -2.303 0 -3.6624 2.01 0 -4.6875 +2 24 -2.4032 0 -3.6214 -2.303 0 -3.6624 +2 24 -2.4801 0 -3.5452 -2.4032 0 -3.6214 +2 24 -2.5219 0 -3.4453 -2.4801 0 -3.5452 +2 24 -2.5224 0 -3.3371 -2.5219 0 -3.4453 +2 24 -2.4814 0 -3.2369 -2.5224 0 -3.3371 +2 24 2.2875 0 -4.41 2.2875 0 -3.21 +2 24 1.7325 0 -3.21 1.7325 0 -4.0661 +2 24 -2.4052 0 -3.1599 -2.4814 0 -3.2369 +2 24 -2.3053 0 -3.1181 -2.4052 0 -3.1599 +2 24 -2.1971 0 -3.1176 -2.3053 0 -3.1181 +2 24 1.7325 0 -4.0661 -2.1971 0 -3.1176 +2 24 1.7536 0 -3.1038 1.7325 0 -3.21 +2 24 2.2875 0 -3.21 2.2664 0 -3.1038 +2 24 2.2664 0 -3.1038 2.2062 0 -3.0138 +2 24 1.8138 0 -3.0138 1.7536 0 -3.1038 +2 24 1.9038 0 -2.9536 1.8138 0 -3.0138 +2 24 2.2062 0 -3.0138 2.1162 0 -2.9536 +2 24 2.1162 0 -2.9536 2.01 0 -2.9325 +2 24 2.01 0 -2.9325 1.9038 0 -2.9536 +2 24 2.01 0 -2.5275 2.1162 0 -2.5064 +2 24 2.1162 0 -2.5064 2.2062 0 -2.4462 +2 24 2.2062 0 -2.4462 2.2664 0 -2.3562 +2 24 2.2664 0 -2.3562 2.2875 0 -2.25 +2 24 1.7325 0 -1.9061 0.2175 0 -1.5438 +2 24 -2.25 0 -1.5114 2.01 0 -2.5275 +2 24 -2.3562 0 -1.4864 -2.25 0 -1.5114 +2 24 -2.4462 0 -1.4262 -2.3562 0 -1.4864 +2 24 -2.5064 0 -1.3362 -2.4462 0 -1.4262 +2 24 -2.5275 0 -1.23 -2.5064 0 -1.3362 +2 24 1.7325 0 -1.05 1.7325 0 -1.9061 +2 24 2.2875 0 -2.25 2.2875 0 -1.05 +2 24 -0.3375 0 -1.4105 -1.9725 0 -1.0188 +2 24 2.2875 0 -1.05 2.2664 0 -0.9438 +2 24 1.7536 0 -0.9438 1.7325 0 -1.05 +2 24 0.2175 0 -1.5438 0.2175 0 -0.8844 +2 24 -0.3375 0 -0.8844 -0.3375 0 -1.4105 +2 24 2.2664 0 -0.9438 2.2062 0 -0.8538 +2 24 1.8138 0 -0.8538 1.7536 0 -0.9438 +2 24 1.9038 0 -0.7936 1.8138 0 -0.8538 +2 24 2.2062 0 -0.8538 2.1162 0 -0.7936 +2 24 -0.3164 0 -0.7782 -0.3375 0 -0.8844 +2 24 0.2175 0 -0.8844 0.1964 0 -0.7782 +2 24 2.1162 0 -0.7936 2.01 0 -0.7725 +2 24 2.01 0 -0.7725 1.9038 0 -0.7936 +2 24 -0.2562 0 -0.6882 -0.3164 0 -0.7782 +2 24 0.1964 0 -0.7782 0.1362 0 -0.6882 +2 24 0.1362 0 -0.6882 0.0462 0 -0.628 +2 24 -0.1662 0 -0.628 -0.2562 0 -0.6882 +2 24 -0.06 0 -0.6069 -0.1662 0 -0.628 +2 24 0.0462 0 -0.628 -0.06 0 -0.6069 +2 24 1.3237 0 -0.1551 1.693 0 -0.0816 +2 24 -2.5275 0 -0.03 -2.5275 0 -1.23 +2 24 -1.9725 0 -1.0188 -1.9725 0 -0.03 +2 24 -2.5064 0 0.0762 -2.5275 0 -0.03 +2 24 -1.9725 0 -0.03 -1.9936 0 0.0762 +2 24 1.693 0 -0.0816 2.0061 0 0.1276 +2 24 -2.4462 0 0.1662 -2.5064 0 0.0762 +2 24 -1.9936 0 0.0762 -2.0538 0 0.1662 +2 24 -2.0538 0 0.1662 -2.1438 0 0.2264 +2 24 -2.3562 0 0.2264 -2.4462 0 0.1662 +2 24 -2.25 0 0.2475 -2.3562 0 0.2264 +2 24 -2.1438 0 0.2264 -2.25 0 0.2475 +2 24 1.4822 0 0.4277 1.324 0 0.3963 +2 24 2.0061 0 0.1276 2.2153 0 0.4407 +2 24 -1.5624 0 0.4419 1.3237 0 -0.1551 +2 24 1.6163 0 0.5174 1.4822 0 0.4277 +2 24 -1.9317 0 0.5184 -1.5624 0 0.4419 +2 24 1.7059 0 0.6515 1.6163 0 0.5174 +2 24 -2.2448 0 0.7276 -1.9317 0 0.5184 +2 24 1.7374 0 0.8097 1.7059 0 0.6515 +2 24 2.2153 0 0.4407 2.2888 0 0.81 +2 24 1.7059 0 0.9679 1.7374 0 0.8097 +2 24 1.324 0 0.3963 -1.5627 0 0.9933 +2 24 -1.5627 0 0.9933 -1.7209 0 1.0277 +2 24 -2.454 0 1.0407 -2.2448 0 0.7276 +2 24 1.6163 0 1.1021 1.7059 0 0.9679 +2 24 -1.7209 0 1.0277 -1.8551 0 1.1174 +2 24 -0.06 0 1.1325 0.0462 0 1.1536 +2 24 -0.1662 0 1.1536 -0.06 0 1.1325 +2 24 2.2888 0 0.81 2.2153 0 1.1793 +2 24 1.4822 0 1.1917 1.6163 0 1.1021 +2 24 -0.2562 0 1.2138 -0.1662 0 1.1536 +2 24 0.0462 0 1.1536 0.1362 0 1.2138 +2 24 1.324 0 1.2352 1.4822 0 1.1917 +2 24 -1.8551 0 1.1174 -1.9447 0 1.2515 +2 24 -0.3164 0 1.3038 -0.2562 0 1.2138 +2 24 0.1362 0 1.2138 0.1964 0 1.3038 +2 24 -1.9447 0 1.2515 -1.9762 0 1.4097 +2 24 -0.3375 0 1.41 -0.3164 0 1.3038 +2 24 0.1964 0 1.3038 0.2175 0 1.41 +2 24 -2.5275 0 1.41 -2.454 0 1.0407 +2 24 0.2175 0 1.41 0.2175 0 1.4861 +2 24 0.2175 0 1.4861 1.324 0 1.2352 +2 24 2.2153 0 1.1793 2.0061 0 1.4924 +2 24 -1.9762 0 1.4097 -1.9447 0 1.5679 +2 24 2.0061 0 1.4924 1.693 0 1.7016 +2 24 -1.9447 0 1.5679 -1.8551 0 1.7021 +2 24 -2.454 0 1.7793 -2.5275 0 1.41 +2 24 1.693 0 1.7016 1.3237 0 1.7871 +2 24 -1.8551 0 1.7021 -1.7209 0 1.7917 +2 24 -1.7209 0 1.7917 -1.5627 0 1.8232 +2 24 -0.3375 0 1.83 -0.3375 0 1.41 +2 24 -1.5627 0 1.8232 -1.4562 0 1.8436 +2 24 -1.4562 0 1.8436 -1.3662 0 1.9038 +2 24 -0.3164 0 1.9362 -0.3375 0 1.83 +2 24 -1.3662 0 1.9038 -1.306 0 1.9938 +2 24 -0.2562 0 2.0262 -0.3164 0 1.9362 +2 24 -0.1662 0 2.0864 -0.2562 0 2.0262 +2 24 -2.2448 0 2.0924 -2.454 0 1.7793 +2 24 -1.306 0 1.9938 -1.2849 0 2.1 +2 24 -0.06 0 2.1075 -0.1662 0 2.0864 +2 24 1.3237 0 1.7871 -0.06 0 2.1075 +2 24 -1.2849 0 2.1 -1.306 0 2.2062 +2 24 -1.306 0 2.2062 -1.3662 0 2.2962 +2 24 -1.9317 0 2.3016 -2.2448 0 2.0924 +2 24 1.3207 0 2.2449 1.69 0 2.3184 +2 24 -1.3662 0 2.2962 -1.4562 0 2.3564 +2 24 -1.5624 0 2.3751 -1.9317 0 2.3016 +2 24 -1.4562 0 2.3564 -1.5624 0 2.3751 +2 24 1.69 0 2.3184 2.0031 0 2.5276 +2 24 1.4792 0 2.8277 1.321 0 2.7963 +2 24 2.0031 0 2.5276 2.2123 0 2.8407 +2 24 -1.5624 0 2.8419 1.3207 0 2.2449 +2 24 1.6133 0 2.9174 1.4792 0 2.8277 +2 24 -1.9317 0 2.9184 -1.5624 0 2.8419 +2 24 1.7029 0 3.0515 1.6133 0 2.9174 +2 24 -2.2448 0 3.1276 -1.9317 0 2.9184 +2 24 1.7344 0 3.2097 1.7029 0 3.0515 +2 24 2.2123 0 2.8407 2.2858 0 3.21 +2 24 1.7029 0 3.3679 1.7344 0 3.2097 +2 24 1.321 0 2.7963 -1.5627 0 3.3932 +2 24 -1.5627 0 3.3932 -1.7209 0 3.4277 +2 24 -2.454 0 3.4407 -2.2448 0 3.1276 +2 24 1.6133 0 3.5021 1.7029 0 3.3679 +2 24 -1.7209 0 3.4277 -1.8551 0 3.5174 +2 24 2.2858 0 3.21 2.2123 0 3.5793 +2 24 1.4792 0 3.5917 1.6133 0 3.5021 +2 24 1.321 0 3.6262 1.4792 0 3.5917 +2 24 -1.8551 0 3.5174 -1.9447 0 3.6515 +2 24 -1.9447 0 3.6515 -1.9762 0 3.8097 +2 24 -2.5275 0 3.81 -2.454 0 3.4407 +2 24 2.2123 0 3.5793 2.0031 0 3.8924 +2 24 -1.9762 0 3.8097 -1.9447 0 3.9679 +2 24 2.0031 0 3.8924 1.69 0 4.1016 +2 24 -1.9447 0 3.9679 -1.8551 0 4.1021 +2 24 1.69 0 4.1016 1.3207 0 4.1781 +2 24 -2.454 0 4.1793 -2.5275 0 3.81 +2 24 -1.8551 0 4.1021 -1.7209 0 4.1917 +2 24 -1.7209 0 4.1917 -1.5627 0 4.2232 +2 24 -1.5627 0 4.2232 1.321 0 3.6262 +2 24 -2.2448 0 4.4924 -2.454 0 4.1793 +2 24 -1.9317 0 4.7016 -2.2448 0 4.4924 +2 24 -1.5624 0 4.7751 -1.9317 0 4.7016 +2 24 1.3207 0 4.1781 -1.5624 0 4.7751 +4 16 2.01 0 -4.6875 2.1162 0 -4.6664 2.0654 -0.05 -4.5439 2.01 -0.05 -4.5549 +4 16 2.1162 0 -4.6664 2.2062 0 -4.6062 2.1125 -0.05 -4.5125 2.0654 -0.05 -4.5439 +4 16 2.2062 0 -4.6062 2.2664 0 -4.5162 2.1439 -0.05 -4.4654 2.1125 -0.05 -4.5125 +4 16 2.2664 0 -4.5162 2.2875 0 -4.41 2.1549 -0.05 -4.41 2.1439 -0.05 -4.4654 +4 16 2.01 0 -4.6875 2.01 -0.05 -4.5549 -2.2777 -0.05 -3.5322 -2.303 0 -3.6624 +4 16 -2.4032 0 -3.6214 -2.303 0 -3.6624 -2.2777 -0.05 -3.5322 -2.33 -0.05 -3.5108 +4 16 -2.4801 0 -3.5452 -2.4032 0 -3.6214 -2.33 -0.05 -3.5108 -2.3701 -0.05 -3.471 +4 16 -2.5219 0 -3.4453 -2.4801 0 -3.5452 -2.3701 -0.05 -3.471 -2.392 -0.05 -3.4189 +4 16 -2.392 -0.05 -3.4189 -2.3922 -0.05 -3.3623 -2.5224 0 -3.3371 -2.5219 0 -3.4453 +4 16 -2.2224 -0.05 -3.2478 1.8651 -0.05 -4.2304 1.7325 0 -4.0661 -2.1971 0 -3.1176 +4 16 -2.3922 -0.05 -3.3623 -2.3708 -0.05 -3.31 -2.4814 0 -3.2369 -2.5224 0 -3.3371 +4 16 1.8651 -0.05 -3.21 1.7325 0 -3.21 1.7325 0 -4.0661 1.8651 -0.05 -4.2304 +4 16 2.2875 0 -4.41 2.2875 0 -3.21 2.1549 -0.05 -3.21 2.1549 -0.05 -4.41 +4 16 -2.3708 -0.05 -3.31 -2.331 -0.05 -3.2699 -2.4052 0 -3.1599 -2.4814 0 -3.2369 +4 16 2.1439 -0.05 -3.1546 2.1549 -0.05 -3.21 2.2875 0 -3.21 2.2664 0 -3.1038 +4 16 -2.331 -0.05 -3.2699 -2.2789 -0.05 -3.248 -2.3053 0 -3.1181 -2.4052 0 -3.1599 +4 16 -2.1971 0 -3.1176 -2.3053 0 -3.1181 -2.2789 -0.05 -3.248 -2.2224 -0.05 -3.2478 +4 16 2.1125 -0.05 -3.1076 2.1439 -0.05 -3.1546 2.2664 0 -3.1038 2.2062 0 -3.0138 +4 16 1.7536 0 -3.1038 1.7325 0 -3.21 1.8651 -0.05 -3.21 1.8761 -0.05 -3.1546 +4 16 1.8138 0 -3.0138 1.7536 0 -3.1038 1.8761 -0.05 -3.1546 1.9076 -0.05 -3.1076 +4 16 2.0654 -0.05 -3.0761 2.1125 -0.05 -3.1076 2.2062 0 -3.0138 2.1162 0 -2.9536 +4 16 2.01 -0.05 -3.0651 2.0654 -0.05 -3.0761 2.1162 0 -2.9536 2.01 0 -2.9325 +4 16 1.9076 -0.05 -3.1076 1.9546 -0.05 -3.0761 1.9038 0 -2.9536 1.8138 0 -3.0138 +4 16 1.9546 -0.05 -3.0761 2.01 -0.05 -3.0651 2.01 0 -2.9325 1.9038 0 -2.9536 +4 16 2.01 0 -2.5275 2.1162 0 -2.5064 2.0654 -0.05 -2.3839 2.01 -0.05 -2.3949 +4 16 2.1162 0 -2.5064 2.2062 0 -2.4462 2.1125 -0.05 -2.3525 2.0654 -0.05 -2.3839 +4 16 2.2062 0 -2.4462 2.2664 0 -2.3562 2.1439 -0.05 -2.3054 2.1125 -0.05 -2.3525 +4 16 2.2664 0 -2.3562 2.2875 0 -2.25 2.1549 -0.05 -2.25 2.1439 -0.05 -2.3054 +4 16 0.0849 -0.05 -1.646 1.8651 -0.05 -2.0704 1.7325 0 -1.9061 0.2175 0 -1.5438 +4 16 2.01 0 -2.5275 2.01 -0.05 -2.3949 -2.25 -0.05 -1.3794 -2.25 0 -1.5114 +4 16 -2.3562 0 -1.4864 -2.25 0 -1.5114 -2.25 -0.05 -1.3794 -2.3054 -0.05 -1.3639 +4 16 -2.4462 0 -1.4262 -2.3562 0 -1.4864 -2.3054 -0.05 -1.3639 -2.3525 -0.05 -1.3325 +4 16 -2.5064 0 -1.3362 -2.4462 0 -1.4262 -2.3525 -0.05 -1.3325 -2.3839 -0.05 -1.2854 +4 16 -2.3839 -0.05 -1.2854 -2.3949 -0.05 -1.23 -2.5275 0 -1.23 -2.5064 0 -1.3362 +4 16 -2.1051 -0.05 -1.121 -0.2049 -0.05 -1.5748 -0.3375 0 -1.4105 -1.9725 0 -1.0188 +4 16 1.7325 0 -1.9061 1.8651 -0.05 -2.0704 1.8651 -0.05 -1.05 1.7325 0 -1.05 +4 16 2.1549 -0.05 -1.05 2.1549 -0.05 -2.25 2.2875 0 -2.25 2.2875 0 -1.05 +4 16 2.1439 -0.05 -0.9946 2.1549 -0.05 -1.05 2.2875 0 -1.05 2.2664 0 -0.9438 +4 16 2.1125 -0.05 -0.9476 2.1439 -0.05 -0.9946 2.2664 0 -0.9438 2.2062 0 -0.8538 +4 16 1.7536 0 -0.9438 1.7325 0 -1.05 1.8651 -0.05 -1.05 1.8761 -0.05 -0.9946 +4 16 -0.3375 0 -1.4105 -0.2049 -0.05 -1.5748 -0.2049 -0.05 -0.8844 -0.3375 0 -0.8844 +4 16 0.0849 -0.05 -1.646 0.2175 0 -1.5438 0.2175 0 -0.8844 0.0849 -0.05 -0.8844 +4 16 1.8761 -0.05 -0.9946 1.9076 -0.05 -0.9476 1.8138 0 -0.8538 1.7536 0 -0.9438 +4 16 2.0654 -0.05 -0.9161 2.1125 -0.05 -0.9476 2.2062 0 -0.8538 2.1162 0 -0.7936 +4 16 0.0739 -0.05 -0.829 0.0849 -0.05 -0.8844 0.2175 0 -0.8844 0.1964 0 -0.7782 +4 16 1.9038 0 -0.7936 1.8138 0 -0.8538 1.9076 -0.05 -0.9476 1.9546 -0.05 -0.9161 +4 16 2.01 -0.05 -0.9051 2.0654 -0.05 -0.9161 2.1162 0 -0.7936 2.01 0 -0.7725 +4 16 -0.2049 -0.05 -0.8844 -0.1939 -0.05 -0.829 -0.3164 0 -0.7782 -0.3375 0 -0.8844 +4 16 0.0425 -0.05 -0.782 0.0739 -0.05 -0.829 0.1964 0 -0.7782 0.1362 0 -0.6882 +4 16 1.9546 -0.05 -0.9161 2.01 -0.05 -0.9051 2.01 0 -0.7725 1.9038 0 -0.7936 +4 16 -0.2562 0 -0.6882 -0.3164 0 -0.7782 -0.1939 -0.05 -0.829 -0.1625 -0.05 -0.782 +4 16 -0.0046 -0.05 -0.7505 0.0425 -0.05 -0.782 0.1362 0 -0.6882 0.0462 0 -0.628 +4 16 -0.1625 -0.05 -0.782 -0.1154 -0.05 -0.7505 -0.1662 0 -0.628 -0.2562 0 -0.6882 +4 16 -0.06 -0.05 -0.7395 -0.0046 -0.05 -0.7505 0.0462 0 -0.628 -0.06 0 -0.6069 +4 16 -0.06 0 -0.6069 -0.1662 0 -0.628 -0.1154 -0.05 -0.7505 -0.06 -0.05 -0.7395 +4 16 -1.9725 0 -0.03 -2.1051 -0.05 -0.03 -2.1051 -0.05 -1.121 -1.9725 0 -1.0188 +4 16 -2.3949 -0.05 -1.23 -2.3949 -0.05 -0.03 -2.5275 0 -0.03 -2.5275 0 -1.23 +4 16 1.324 -0.05 -0.0235 1.3237 0 -0.1551 1.693 0 -0.0816 1.6429 -0.05 0.04 +4 16 -2.1161 -0.05 0.0254 -2.1051 -0.05 -0.03 -1.9725 0 -0.03 -1.9936 0 0.0762 +4 16 -2.3949 -0.05 -0.03 -2.3839 -0.05 0.0254 -2.5064 0 0.0762 -2.5275 0 -0.03 +4 16 -2.1476 -0.05 0.0725 -2.1161 -0.05 0.0254 -1.9936 0 0.0762 -2.0538 0 0.1662 +4 16 1.6429 -0.05 0.04 1.693 0 -0.0816 2.0061 0 0.1276 1.9133 -0.05 0.2207 +4 16 -2.3839 -0.05 0.0254 -2.3525 -0.05 0.0725 -2.4462 0 0.1662 -2.5064 0 0.0762 +4 16 -2.1946 -0.05 0.1039 -2.1476 -0.05 0.0725 -2.0538 0 0.1662 -2.1438 0 0.2264 +4 16 -2.25 -0.05 0.1149 -2.1946 -0.05 0.1039 -2.1438 0 0.2264 -2.25 0 0.2475 +4 16 -2.3525 -0.05 0.0725 -2.3054 -0.05 0.1039 -2.3562 0 0.2264 -2.4462 0 0.1662 +4 16 -2.3054 -0.05 0.1039 -2.25 -0.05 0.1149 -2.25 0 0.2475 -2.3562 0 0.2264 +4 16 1.324 0 0.3963 1.324 -0.05 0.2649 1.5324 -0.05 0.3064 1.4822 0 0.4277 +4 16 1.4822 0 0.4277 1.5324 -0.05 0.3064 1.7092 -0.05 0.4245 1.6163 0 0.5174 +4 16 1.9133 -0.05 0.2207 2.0061 0 0.1276 2.2153 0 0.4407 2.094 -0.05 0.491 +4 16 -1.5624 0 0.4419 1.3237 0 -0.1551 1.324 -0.05 -0.0235 -1.5627 -0.05 0.5735 +4 16 -1.9317 0 0.5184 -1.5624 0 0.4419 -1.5627 -0.05 0.5735 -1.8817 -0.05 0.64 +4 16 1.6163 0 0.5174 1.7092 -0.05 0.4245 1.8273 -0.05 0.6012 1.7059 0 0.6515 +4 16 -2.2448 0 0.7276 -1.9317 0 0.5184 -1.8817 -0.05 0.64 -2.1521 -0.05 0.8207 +4 16 1.7059 0 0.6515 1.8273 -0.05 0.6012 1.8688 -0.05 0.8097 1.7374 0 0.8097 +4 16 2.094 -0.05 0.491 2.2153 0 0.4407 2.2888 0 0.81 2.1574 -0.05 0.81 +4 16 -1.5627 -0.05 0.8619 1.324 -0.05 0.2649 1.324 0 0.3963 -1.5627 0 0.9933 +4 16 -1.7712 -0.05 0.9064 -1.5627 -0.05 0.8619 -1.5627 0 0.9933 -1.7209 0 1.0277 +4 16 1.8273 -0.05 1.0182 1.7059 0 0.9679 1.7374 0 0.8097 1.8688 -0.05 0.8097 +4 16 -1.9479 -0.05 1.0245 -1.7712 -0.05 0.9064 -1.7209 0 1.0277 -1.8551 0 1.1174 +4 16 -2.454 0 1.0407 -2.2448 0 0.7276 -2.1521 -0.05 0.8207 -2.3327 -0.05 1.091 +4 16 2.2153 0 1.1793 2.094 -0.05 1.129 2.1574 -0.05 0.81 2.2888 0 0.81 +4 16 1.7059 0 0.9679 1.8273 -0.05 1.0182 1.7092 -0.05 1.1949 1.6163 0 1.1021 +4 16 -2.066 -0.05 1.2012 -1.9479 -0.05 1.0245 -1.8551 0 1.1174 -1.9447 0 1.2515 +4 16 -0.1662 0 1.1536 -0.06 0 1.1325 -0.06 -0.05 1.2651 -0.1154 -0.05 1.2761 +4 16 -0.0046 -0.05 1.2761 -0.06 -0.05 1.2651 -0.06 0 1.1325 0.0462 0 1.1536 +4 16 -0.2562 0 1.2138 -0.1662 0 1.1536 -0.1154 -0.05 1.2761 -0.1625 -0.05 1.3076 +4 16 0.0425 -0.05 1.3076 -0.0046 -0.05 1.2761 0.0462 0 1.1536 0.1362 0 1.2138 +4 16 -0.3164 0 1.3038 -0.2562 0 1.2138 -0.1625 -0.05 1.3076 -0.1939 -0.05 1.3546 +4 16 1.6163 0 1.1021 1.7092 -0.05 1.1949 1.5324 -0.05 1.313 1.4822 0 1.1917 +4 16 0.0739 -0.05 1.3546 0.0425 -0.05 1.3076 0.1362 0 1.2138 0.1964 0 1.3038 +4 16 1.4822 0 1.1917 1.5324 -0.05 1.313 1.324 -0.05 1.3665 1.324 0 1.2352 +4 16 -1.9447 0 1.2515 -1.9762 0 1.4097 -2.1075 -0.05 1.4097 -2.066 -0.05 1.2012 +4 16 0.0849 -0.05 1.41 0.0739 -0.05 1.3546 0.1964 0 1.3038 0.2175 0 1.41 +4 16 -2.5275 0 1.41 -2.454 0 1.0407 -2.3327 -0.05 1.091 -2.3962 -0.05 1.41 +4 16 -0.3375 0 1.41 -0.3164 0 1.3038 -0.1939 -0.05 1.3546 -0.2049 -0.05 1.41 +4 16 0.0849 -0.05 1.41 0.2175 0 1.41 0.2175 0 1.4861 0.0849 -0.05 1.6505 +4 16 0.2175 0 1.4861 1.324 0 1.2352 1.324 -0.05 1.3665 0.0849 -0.05 1.6505 +4 16 2.0061 0 1.4924 1.9133 -0.05 1.3994 2.094 -0.05 1.129 2.2153 0 1.1793 +4 16 -2.066 -0.05 1.6182 -2.1075 -0.05 1.4097 -1.9762 0 1.4097 -1.9447 0 1.5679 +4 16 1.693 0 1.7016 1.6429 -0.05 1.58 1.9133 -0.05 1.3994 2.0061 0 1.4924 +4 16 -2.3962 -0.05 1.41 -2.3327 -0.05 1.729 -2.454 0 1.7793 -2.5275 0 1.41 +4 16 1.6429 -0.05 1.58 1.693 0 1.7016 1.3237 0 1.7871 1.324 -0.05 1.6555 +4 16 -1.9479 -0.05 1.7949 -2.066 -0.05 1.6182 -1.9447 0 1.5679 -1.8551 0 1.7021 +4 16 -0.2049 -0.05 1.41 -0.2049 -0.05 1.83 -0.3375 0 1.83 -0.3375 0 1.41 +4 16 -1.7712 -0.05 1.913 -1.9479 -0.05 1.7949 -1.8551 0 1.7021 -1.7209 0 1.7917 +4 16 -0.2049 -0.05 1.83 -0.1939 -0.05 1.8854 -0.3164 0 1.9362 -0.3375 0 1.83 +4 16 -1.7209 0 1.7917 -1.5627 0 1.8232 -1.5627 -0.05 1.9545 -1.7712 -0.05 1.913 +4 16 -1.507 -0.05 1.9661 -1.5627 -0.05 1.9545 -1.5627 0 1.8232 -1.4562 0 1.8436 +4 16 -0.06 -0.05 1.9749 1.324 -0.05 1.6555 1.3237 0 1.7871 -0.06 0 2.1075 +4 16 -1.46 -0.05 1.9976 -1.507 -0.05 1.9661 -1.4562 0 1.8436 -1.3662 0 1.9038 +4 16 -0.1939 -0.05 1.8854 -0.1625 -0.05 1.9325 -0.2562 0 2.0262 -0.3164 0 1.9362 +4 16 -1.3662 0 1.9038 -1.306 0 1.9938 -1.4285 -0.05 2.0446 -1.46 -0.05 1.9976 +4 16 -0.1662 0 2.0864 -0.2562 0 2.0262 -0.1625 -0.05 1.9325 -0.1154 -0.05 1.9639 +4 16 -2.2448 0 2.0924 -2.454 0 1.7793 -2.3327 -0.05 1.729 -2.1521 -0.05 1.9994 +4 16 -1.4175 -0.05 2.1 -1.4285 -0.05 2.0446 -1.306 0 1.9938 -1.2849 0 2.1 +4 16 -0.06 0 2.1075 -0.1662 0 2.0864 -0.1154 -0.05 1.9639 -0.06 -0.05 1.9749 +4 16 -1.4285 -0.05 2.1554 -1.4175 -0.05 2.1 -1.2849 0 2.1 -1.306 0 2.2062 +4 16 -1.46 -0.05 2.2025 -1.4285 -0.05 2.1554 -1.306 0 2.2062 -1.3662 0 2.2962 +4 16 -1.507 -0.05 2.2339 -1.46 -0.05 2.2025 -1.3662 0 2.2962 -1.4562 0 2.3564 +4 16 -2.1521 -0.05 1.9994 -1.8817 -0.05 2.18 -1.9317 0 2.3016 -2.2448 0 2.0924 +4 16 -1.5627 -0.05 2.2435 -1.507 -0.05 2.2339 -1.4562 0 2.3564 -1.5624 0 2.3751 +4 16 -1.8817 -0.05 2.18 -1.5627 -0.05 2.2435 -1.5624 0 2.3751 -1.9317 0 2.3016 +4 16 1.321 -0.05 2.3765 1.3207 0 2.2449 1.69 0 2.3184 1.6399 -0.05 2.44 +4 16 1.6399 -0.05 2.44 1.69 0 2.3184 2.0031 0 2.5276 1.9103 -0.05 2.6207 +4 16 1.321 0 2.7963 1.321 -0.05 2.6649 1.5294 -0.05 2.7064 1.4792 0 2.8277 +4 16 1.4792 0 2.8277 1.5294 -0.05 2.7064 1.7062 -0.05 2.8245 1.6133 0 2.9174 +4 16 1.9103 -0.05 2.6207 2.0031 0 2.5276 2.2123 0 2.8407 2.091 -0.05 2.891 +4 16 -1.5624 0 2.8419 1.3207 0 2.2449 1.321 -0.05 2.3765 -1.5627 -0.05 2.9735 +4 16 -1.9317 0 2.9184 -1.5624 0 2.8419 -1.5627 -0.05 2.9735 -1.8817 -0.05 3.04 +4 16 1.6133 0 2.9174 1.7062 -0.05 2.8245 1.8243 -0.05 3.0012 1.7029 0 3.0515 +4 16 -2.2448 0 3.1276 -1.9317 0 2.9184 -1.8817 -0.05 3.04 -2.1521 -0.05 3.2207 +4 16 1.7029 0 3.0515 1.8243 -0.05 3.0012 1.8658 -0.05 3.2097 1.7344 0 3.2097 +4 16 2.091 -0.05 2.891 2.2123 0 2.8407 2.2858 0 3.21 2.1544 -0.05 3.21 +4 16 -1.5627 -0.05 3.2619 1.321 -0.05 2.6649 1.321 0 2.7963 -1.5627 0 3.3932 +4 16 -1.7712 -0.05 3.3064 -1.5627 -0.05 3.2619 -1.5627 0 3.3932 -1.7209 0 3.4277 +4 16 1.7344 0 3.2097 1.8658 -0.05 3.2097 1.8243 -0.05 3.4182 1.7029 0 3.3679 +4 16 -1.9479 -0.05 3.4245 -1.7712 -0.05 3.3064 -1.7209 0 3.4277 -1.8551 0 3.5174 +4 16 -2.454 0 3.4407 -2.2448 0 3.1276 -2.1521 -0.05 3.2207 -2.3327 -0.05 3.491 +4 16 2.1544 -0.05 3.21 2.2858 0 3.21 2.2123 0 3.5793 2.091 -0.05 3.529 +4 16 1.7062 -0.05 3.5949 1.6133 0 3.5021 1.7029 0 3.3679 1.8243 -0.05 3.4182 +4 16 -2.066 -0.05 3.6012 -1.9479 -0.05 3.4245 -1.8551 0 3.5174 -1.9447 0 3.6515 +4 16 1.6133 0 3.5021 1.7062 -0.05 3.5949 1.5294 -0.05 3.713 1.4792 0 3.5917 +4 16 1.321 -0.05 3.7575 1.321 0 3.6262 1.4792 0 3.5917 1.5294 -0.05 3.713 +4 16 -1.9447 0 3.6515 -1.9762 0 3.8097 -2.1075 -0.05 3.8097 -2.066 -0.05 3.6012 +4 16 -2.3327 -0.05 3.491 -2.3962 -0.05 3.81 -2.5275 0 3.81 -2.454 0 3.4407 +4 16 2.0031 0 3.8924 1.9103 -0.05 3.7994 2.091 -0.05 3.529 2.2123 0 3.5793 +4 16 -2.066 -0.05 4.0182 -2.1075 -0.05 3.8097 -1.9762 0 3.8097 -1.9447 0 3.9679 +4 16 1.9103 -0.05 3.7994 2.0031 0 3.8924 1.69 0 4.1016 1.6399 -0.05 3.98 +4 16 1.6399 -0.05 3.98 1.69 0 4.1016 1.3207 0 4.1781 1.321 -0.05 4.0465 +4 16 -2.454 0 4.1793 -2.5275 0 3.81 -2.3962 -0.05 3.81 -2.3327 -0.05 4.129 +4 16 -1.9479 -0.05 4.1949 -2.066 -0.05 4.0182 -1.9447 0 3.9679 -1.8551 0 4.1021 +4 16 -1.5627 0 4.2232 1.321 0 3.6262 1.321 -0.05 3.7575 -1.5627 -0.05 4.3545 +4 16 -1.8551 0 4.1021 -1.7209 0 4.1917 -1.7712 -0.05 4.313 -1.9479 -0.05 4.1949 +4 16 -1.7209 0 4.1917 -1.5627 0 4.2232 -1.5627 -0.05 4.3545 -1.7712 -0.05 4.313 +4 16 -2.3327 -0.05 4.129 -2.1521 -0.05 4.3994 -2.2448 0 4.4924 -2.454 0 4.1793 +4 16 -1.5627 -0.05 4.6435 1.321 -0.05 4.0465 1.3207 0 4.1781 -1.5624 0 4.7751 +4 16 -2.1521 -0.05 4.3994 -1.8817 -0.05 4.58 -1.9317 0 4.7016 -2.2448 0 4.4924 +4 16 -1.8817 -0.05 4.58 -1.5627 -0.05 4.6435 -1.5624 0 4.7751 -1.9317 0 4.7016 +3 16 2.01 -0.0749 -4.41 2.1439 -0.05 -4.4654 2.1549 -0.05 -4.41 +3 16 2.01 -0.0749 -4.41 2.1125 -0.05 -4.5125 2.1439 -0.05 -4.4654 +3 16 2.01 -0.0749 -4.41 2.0654 -0.05 -4.5439 2.1125 -0.05 -4.5125 +3 16 2.01 -0.0749 -4.41 2.01 -0.05 -4.5549 2.0654 -0.05 -4.5439 +4 16 -2.2777 -0.05 -3.5322 2.01 -0.05 -4.5549 2.01 -0.0749 -4.41 -2.25 -0.0749 -3.39 +3 16 -2.3701 -0.05 -3.471 -2.25 -0.0749 -3.39 -2.392 -0.05 -3.4189 +3 16 -2.2777 -0.05 -3.5322 -2.25 -0.0749 -3.39 -2.33 -0.05 -3.5108 +3 16 -2.33 -0.05 -3.5108 -2.25 -0.0749 -3.39 -2.3701 -0.05 -3.471 +3 16 -2.392 -0.05 -3.4189 -2.25 -0.0749 -3.39 -2.3922 -0.05 -3.3623 +4 16 2.01 -0.0749 -3.21 2.01 -0.0749 -4.41 2.1549 -0.05 -4.41 2.1549 -0.05 -3.21 +3 16 2.1439 -0.05 -3.1546 2.01 -0.0749 -3.21 2.1549 -0.05 -3.21 +3 16 2.1125 -0.05 -3.1076 2.01 -0.0749 -3.21 2.1439 -0.05 -3.1546 +3 16 2.0654 -0.05 -3.0761 2.01 -0.0749 -3.21 2.1125 -0.05 -3.1076 +3 16 2.0654 -0.05 -3.0761 2.01 -0.05 -3.0651 2.01 -0.0749 -3.21 +3 16 2.1549 -0.05 -2.25 2.01 -0.0749 -2.25 2.1439 -0.05 -2.3054 +3 16 2.1439 -0.05 -2.3054 2.01 -0.0749 -2.25 2.1125 -0.05 -2.3525 +3 16 2.0654 -0.05 -2.3839 2.01 -0.0749 -2.25 2.01 -0.05 -2.3949 +3 16 2.1125 -0.05 -2.3525 2.01 -0.0749 -2.25 2.0654 -0.05 -2.3839 +4 16 2.01 -0.05 -2.3949 2.01 -0.0749 -2.25 -0.06 -0.0749 -1.755 -2.25 -0.05 -1.3794 +3 16 -2.3525 -0.05 -1.3325 -2.3054 -0.05 -1.3639 -2.25 -0.0749 -1.23 +3 16 -2.3839 -0.05 -1.2854 -2.3525 -0.05 -1.3325 -2.25 -0.0749 -1.23 +3 16 -2.25 -0.0749 -1.23 -2.25 -0.05 -1.3794 -0.06 -0.0749 -1.755 +3 16 -2.3054 -0.05 -1.3639 -2.25 -0.05 -1.3794 -2.25 -0.0749 -1.23 +3 16 -2.3949 -0.05 -1.23 -2.3839 -0.05 -1.2854 -2.25 -0.0749 -1.23 +4 16 2.1549 -0.05 -2.25 2.1549 -0.05 -1.05 2.01 -0.0749 -1.05 2.01 -0.0749 -2.25 +3 16 2.1549 -0.05 -1.05 2.1439 -0.05 -0.9946 2.01 -0.0749 -1.05 +3 16 2.1439 -0.05 -0.9946 2.1125 -0.05 -0.9476 2.01 -0.0749 -1.05 +3 16 2.1125 -0.05 -0.9476 2.0654 -0.05 -0.9161 2.01 -0.0749 -1.05 +3 16 2.01 -0.0749 -1.05 2.0654 -0.05 -0.9161 2.01 -0.05 -0.9051 +4 16 -0.06 -0.0749 -0.8844 -0.06 -0.0749 -1.755 0.0849 -0.05 -1.646 0.0849 -0.05 -0.8844 +3 16 0.0739 -0.05 -0.829 -0.06 -0.0749 -0.8844 0.0849 -0.05 -0.8844 +3 16 0.0425 -0.05 -0.782 -0.06 -0.0749 -0.8844 0.0739 -0.05 -0.829 +3 16 -0.0046 -0.05 -0.7505 -0.06 -0.0749 -0.8844 0.0425 -0.05 -0.782 +3 16 -0.0046 -0.05 -0.7505 -0.06 -0.05 -0.7395 -0.06 -0.0749 -0.8844 +4 16 -2.3949 -0.05 -0.03 -2.3949 -0.05 -1.23 -2.25 -0.0749 -1.23 -2.25 -0.0749 -0.03 +3 16 -2.3949 -0.05 -0.03 -2.25 -0.0749 -0.03 -2.3839 -0.05 0.0254 +3 16 -2.3839 -0.05 0.0254 -2.25 -0.0749 -0.03 -2.3525 -0.05 0.0725 +3 16 -2.3525 -0.05 0.0725 -2.25 -0.0749 -0.03 -2.3054 -0.05 0.1039 +3 16 -2.3054 -0.05 0.1039 -2.25 -0.0749 -0.03 -2.25 -0.05 0.1149 +4 16 1.3243 -0.0749 0.1191 1.324 -0.05 -0.0235 1.6429 -0.05 0.04 1.5887 -0.0749 0.1717 +4 16 1.5887 -0.0749 0.1717 1.6429 -0.05 0.04 1.9133 -0.05 0.2207 1.8128 -0.0749 0.3215 +4 16 1.8128 -0.0749 0.3215 1.9133 -0.05 0.2207 2.094 -0.05 0.491 1.9626 -0.0749 0.5456 +4 16 -1.5627 -0.05 0.5735 1.324 -0.05 -0.0235 1.3243 -0.0749 0.1191 -1.563 -0.0749 0.7161 +4 16 -1.8817 -0.05 0.64 -1.5627 -0.05 0.5735 -1.563 -0.0749 0.7161 -1.8274 -0.0749 0.7717 +4 16 2.0152 -0.0749 0.81 1.9626 -0.0749 0.5456 2.094 -0.05 0.491 2.1574 -0.05 0.81 +4 16 -2.1521 -0.05 0.8207 -1.8817 -0.05 0.64 -1.8274 -0.0749 0.7717 -2.0516 -0.0749 0.9215 +4 16 1.9626 -0.0749 1.0744 2.0152 -0.0749 0.81 2.1574 -0.05 0.81 2.094 -0.05 1.129 +4 16 -2.3327 -0.05 1.091 -2.1521 -0.05 0.8207 -2.0516 -0.0749 0.9215 -2.2013 -0.0749 1.1456 +4 16 1.9133 -0.05 1.3994 1.8128 -0.0749 1.2986 1.9626 -0.0749 1.0744 2.094 -0.05 1.129 +4 16 -2.3327 -0.05 1.091 -2.2013 -0.0749 1.1456 -2.2539 -0.0749 1.41 -2.3962 -0.05 1.41 +3 16 -0.1939 -0.05 1.3546 -0.1625 -0.05 1.3076 -0.06 -0.0749 1.41 +3 16 -0.1625 -0.05 1.3076 -0.1154 -0.05 1.2761 -0.06 -0.0749 1.41 +3 16 -0.1154 -0.05 1.2761 -0.06 -0.05 1.2651 -0.06 -0.0749 1.41 +3 16 -0.2049 -0.05 1.41 -0.1939 -0.05 1.3546 -0.06 -0.0749 1.41 +4 16 1.8128 -0.0749 1.2986 1.9133 -0.05 1.3994 1.6429 -0.05 1.58 1.5887 -0.0749 1.4483 +4 16 1.324 -0.05 1.6555 1.3243 -0.0749 1.5129 1.5887 -0.0749 1.4483 1.6429 -0.05 1.58 +4 16 -2.3962 -0.05 1.41 -2.2539 -0.0749 1.41 -2.2013 -0.0749 1.6744 -2.3327 -0.05 1.729 +4 16 -0.06 -0.0749 1.83 1.3243 -0.0749 1.5129 1.324 -0.05 1.6555 -0.06 -0.05 1.9749 +4 16 -0.2049 -0.05 1.41 -0.06 -0.0749 1.41 -0.06 -0.0749 1.83 -0.2049 -0.05 1.83 +3 16 -0.1939 -0.05 1.8854 -0.2049 -0.05 1.83 -0.06 -0.0749 1.83 +3 16 -0.1625 -0.05 1.9325 -0.1939 -0.05 1.8854 -0.06 -0.0749 1.83 +3 16 -0.1154 -0.05 1.9639 -0.1625 -0.05 1.9325 -0.06 -0.0749 1.83 +3 16 -0.06 -0.05 1.9749 -0.1154 -0.05 1.9639 -0.06 -0.0749 1.83 +4 16 -2.2013 -0.0749 1.6744 -2.0516 -0.0749 1.8986 -2.1521 -0.05 1.9994 -2.3327 -0.05 1.729 +3 16 -1.4285 -0.05 2.1554 -1.563 -0.0749 2.1009 -1.4175 -0.05 2.1 +4 16 -1.8817 -0.05 2.18 -2.1521 -0.05 1.9994 -2.0516 -0.0749 1.8986 -1.8274 -0.0749 2.0483 +3 16 -1.563 -0.0749 2.1009 -1.4285 -0.05 2.1554 -1.46 -0.05 2.2025 +3 16 -1.563 -0.0749 2.1009 -1.46 -0.05 2.2025 -1.507 -0.05 2.2339 +4 16 -1.5627 -0.05 2.2435 -1.8817 -0.05 2.18 -1.8274 -0.0749 2.0483 -1.563 -0.0749 2.1009 +3 16 -1.5627 -0.05 2.2435 -1.563 -0.0749 2.1009 -1.507 -0.05 2.2339 +4 16 1.3213 -0.0749 2.5191 1.321 -0.05 2.3765 1.6399 -0.05 2.44 1.5857 -0.0749 2.5717 +4 16 1.5857 -0.0749 2.5717 1.6399 -0.05 2.44 1.9103 -0.05 2.6207 1.8098 -0.0749 2.7215 +4 16 1.8098 -0.0749 2.7215 1.9103 -0.05 2.6207 2.091 -0.05 2.891 1.9596 -0.0749 2.9456 +4 16 -1.5627 -0.05 2.9735 1.321 -0.05 2.3765 1.3213 -0.0749 2.5191 -1.563 -0.0749 3.1161 +4 16 -1.8817 -0.05 3.04 -1.5627 -0.05 2.9735 -1.563 -0.0749 3.1161 -1.8274 -0.0749 3.1717 +4 16 2.0122 -0.0749 3.21 1.9596 -0.0749 2.9456 2.091 -0.05 2.891 2.1544 -0.05 3.21 +4 16 -2.1521 -0.05 3.2207 -1.8817 -0.05 3.04 -1.8274 -0.0749 3.1717 -2.0516 -0.0749 3.3215 +4 16 1.9596 -0.0749 3.4744 2.0122 -0.0749 3.21 2.1544 -0.05 3.21 2.091 -0.05 3.529 +4 16 -2.3327 -0.05 3.491 -2.1521 -0.05 3.2207 -2.0516 -0.0749 3.3215 -2.2013 -0.0749 3.5456 +4 16 1.9596 -0.0749 3.4744 2.091 -0.05 3.529 1.9103 -0.05 3.7994 1.8098 -0.0749 3.6986 +4 16 -2.2539 -0.0749 3.81 -2.3962 -0.05 3.81 -2.3327 -0.05 3.491 -2.2013 -0.0749 3.5456 +4 16 1.8098 -0.0749 3.6986 1.9103 -0.05 3.7994 1.6399 -0.05 3.98 1.5857 -0.0749 3.8483 +4 16 1.5857 -0.0749 3.8483 1.6399 -0.05 3.98 1.321 -0.05 4.0465 1.3213 -0.0749 3.9039 +4 16 -2.3962 -0.05 3.81 -2.2539 -0.0749 3.81 -2.2013 -0.0749 4.0744 -2.3327 -0.05 4.129 +4 16 -2.2013 -0.0749 4.0744 -2.0516 -0.0749 4.2986 -2.1521 -0.05 4.3994 -2.3327 -0.05 4.129 +4 16 -1.563 -0.0749 4.5009 1.3213 -0.0749 3.9039 1.321 -0.05 4.0465 -1.5627 -0.05 4.6435 +4 16 -1.8817 -0.05 4.58 -2.1521 -0.05 4.3994 -2.0516 -0.0749 4.2986 -1.8274 -0.0749 4.4483 +4 16 -1.8274 -0.0749 4.4483 -1.563 -0.0749 4.5009 -1.5627 -0.05 4.6435 -1.8817 -0.05 4.58 +4 16 -2.25 -0.0749 -3.39 2.01 -0.0749 -4.41 1.8651 -0.05 -4.2304 -2.2224 -0.05 -3.2478 +3 16 -2.3922 -0.05 -3.3623 -2.25 -0.0749 -3.39 -2.3708 -0.05 -3.31 +3 16 -2.3708 -0.05 -3.31 -2.25 -0.0749 -3.39 -2.331 -0.05 -3.2699 +3 16 -2.331 -0.05 -3.2699 -2.25 -0.0749 -3.39 -2.2789 -0.05 -3.248 +3 16 -2.2789 -0.05 -3.248 -2.25 -0.0749 -3.39 -2.2224 -0.05 -3.2478 +4 16 1.8651 -0.05 -4.2304 2.01 -0.0749 -4.41 2.01 -0.0749 -3.21 1.8651 -0.05 -3.21 +3 16 1.8651 -0.05 -3.21 2.01 -0.0749 -3.21 1.8761 -0.05 -3.1546 +3 16 1.8761 -0.05 -3.1546 2.01 -0.0749 -3.21 1.9076 -0.05 -3.1076 +3 16 1.9076 -0.05 -3.1076 2.01 -0.0749 -3.21 1.9546 -0.05 -3.0761 +3 16 1.9546 -0.05 -3.0761 2.01 -0.0749 -3.21 2.01 -0.05 -3.0651 +4 16 2.01 -0.0749 -2.25 1.8651 -0.05 -2.0704 0.0849 -0.05 -1.646 -0.06 -0.0749 -1.755 +4 16 -2.25 -0.0749 -1.23 -0.06 -0.0749 -1.755 -0.2049 -0.05 -1.5748 -2.1051 -0.05 -1.121 +4 16 1.8651 -0.05 -2.0704 2.01 -0.0749 -2.25 2.01 -0.0749 -1.05 1.8651 -0.05 -1.05 +3 16 1.8651 -0.05 -1.05 2.01 -0.0749 -1.05 1.8761 -0.05 -0.9946 +3 16 1.8761 -0.05 -0.9946 2.01 -0.0749 -1.05 1.9076 -0.05 -0.9476 +3 16 1.9076 -0.05 -0.9476 2.01 -0.0749 -1.05 1.9546 -0.05 -0.9161 +3 16 1.9546 -0.05 -0.9161 2.01 -0.0749 -1.05 2.01 -0.05 -0.9051 +4 16 -0.06 -0.0749 -0.8844 -0.2049 -0.05 -0.8844 -0.2049 -0.05 -1.5748 -0.06 -0.0749 -1.755 +3 16 -0.06 -0.0749 -0.8844 -0.1939 -0.05 -0.829 -0.2049 -0.05 -0.8844 +3 16 -0.06 -0.0749 -0.8844 -0.1625 -0.05 -0.782 -0.1939 -0.05 -0.829 +3 16 -0.06 -0.0749 -0.8844 -0.1154 -0.05 -0.7505 -0.1625 -0.05 -0.782 +3 16 -0.06 -0.0749 -0.8844 -0.06 -0.05 -0.7395 -0.1154 -0.05 -0.7505 +4 16 -2.1051 -0.05 -0.03 -2.25 -0.0749 -0.03 -2.25 -0.0749 -1.23 -2.1051 -0.05 -1.121 +3 16 -2.1161 -0.05 0.0254 -2.25 -0.0749 -0.03 -2.1051 -0.05 -0.03 +3 16 -2.1476 -0.05 0.0725 -2.25 -0.0749 -0.03 -2.1161 -0.05 0.0254 +3 16 -2.1946 -0.05 0.1039 -2.25 -0.0749 -0.03 -2.1476 -0.05 0.0725 +3 16 -2.1946 -0.05 0.1039 -2.25 -0.05 0.1149 -2.25 -0.0749 -0.03 +4 16 1.324 -0.05 0.2649 1.3243 -0.0749 0.1191 1.5887 -0.0749 0.1717 1.5324 -0.05 0.3064 +4 16 1.5324 -0.05 0.3064 1.5887 -0.0749 0.1717 1.8128 -0.0749 0.3215 1.7092 -0.05 0.4245 +4 16 1.8273 -0.05 0.6012 1.7092 -0.05 0.4245 1.8128 -0.0749 0.3215 1.9626 -0.0749 0.5456 +4 16 -1.563 -0.0749 0.7161 1.3243 -0.0749 0.1191 1.324 -0.05 0.2649 -1.5627 -0.05 0.8619 +4 16 1.8688 -0.05 0.8097 1.8273 -0.05 0.6012 1.9626 -0.0749 0.5456 2.0152 -0.0749 0.81 +4 16 -1.8274 -0.0749 0.7717 -1.563 -0.0749 0.7161 -1.5627 -0.05 0.8619 -1.7712 -0.05 0.9064 +4 16 -2.0516 -0.0749 0.9215 -1.8274 -0.0749 0.7717 -1.7712 -0.05 0.9064 -1.9479 -0.05 1.0245 +4 16 1.8273 -0.05 1.0182 1.8688 -0.05 0.8097 2.0152 -0.0749 0.81 1.9626 -0.0749 1.0744 +4 16 -2.066 -0.05 1.2012 -2.2013 -0.0749 1.1456 -2.0516 -0.0749 0.9215 -1.9479 -0.05 1.0245 +4 16 1.8273 -0.05 1.0182 1.9626 -0.0749 1.0744 1.8128 -0.0749 1.2986 1.7092 -0.05 1.1949 +4 16 -2.2013 -0.0749 1.1456 -2.066 -0.05 1.2012 -2.1075 -0.05 1.4097 -2.2539 -0.0749 1.41 +3 16 0.0425 -0.05 1.3076 -0.06 -0.0749 1.41 -0.0046 -0.05 1.2761 +3 16 0.0739 -0.05 1.3546 -0.06 -0.0749 1.41 0.0425 -0.05 1.3076 +3 16 0.0849 -0.05 1.41 -0.06 -0.0749 1.41 0.0739 -0.05 1.3546 +3 16 -0.0046 -0.05 1.2761 -0.06 -0.0749 1.41 -0.06 -0.05 1.2651 +4 16 1.5887 -0.0749 1.4483 1.5324 -0.05 1.313 1.7092 -0.05 1.1949 1.8128 -0.0749 1.2986 +4 16 1.5324 -0.05 1.313 1.5887 -0.0749 1.4483 1.3243 -0.0749 1.5129 1.324 -0.05 1.3665 +4 16 -2.2539 -0.0749 1.41 -2.1075 -0.05 1.4097 -2.066 -0.05 1.6182 -2.2013 -0.0749 1.6744 +4 16 0.0849 -0.05 1.6505 1.324 -0.05 1.3665 1.3243 -0.0749 1.5129 -0.06 -0.0749 1.83 +4 16 -0.06 -0.0749 1.41 0.0849 -0.05 1.41 0.0849 -0.05 1.6505 -0.06 -0.0749 1.83 +4 16 -2.0516 -0.0749 1.8986 -2.2013 -0.0749 1.6744 -2.066 -0.05 1.6182 -1.9479 -0.05 1.7949 +4 16 -1.8274 -0.0749 2.0483 -2.0516 -0.0749 1.8986 -1.9479 -0.05 1.7949 -1.7712 -0.05 1.913 +4 16 -1.563 -0.0749 2.1009 -1.8274 -0.0749 2.0483 -1.7712 -0.05 1.913 -1.5627 -0.05 1.9545 +3 16 -1.46 -0.05 1.9976 -1.4285 -0.05 2.0446 -1.563 -0.0749 2.1009 +3 16 -1.507 -0.05 1.9661 -1.46 -0.05 1.9976 -1.563 -0.0749 2.1009 +3 16 -1.5627 -0.05 1.9545 -1.507 -0.05 1.9661 -1.563 -0.0749 2.1009 +3 16 -1.4285 -0.05 2.0446 -1.4175 -0.05 2.1 -1.563 -0.0749 2.1009 +4 16 1.321 -0.05 2.6649 1.3213 -0.0749 2.5191 1.5857 -0.0749 2.5717 1.5294 -0.05 2.7064 +4 16 1.5294 -0.05 2.7064 1.5857 -0.0749 2.5717 1.8098 -0.0749 2.7215 1.7062 -0.05 2.8245 +4 16 1.8098 -0.0749 2.7215 1.9596 -0.0749 2.9456 1.8243 -0.05 3.0012 1.7062 -0.05 2.8245 +4 16 -1.563 -0.0749 3.1161 1.3213 -0.0749 2.5191 1.321 -0.05 2.6649 -1.5627 -0.05 3.2619 +4 16 1.8658 -0.05 3.2097 1.8243 -0.05 3.0012 1.9596 -0.0749 2.9456 2.0122 -0.0749 3.21 +4 16 -1.8274 -0.0749 3.1717 -1.563 -0.0749 3.1161 -1.5627 -0.05 3.2619 -1.7712 -0.05 3.3064 +4 16 -2.0516 -0.0749 3.3215 -1.8274 -0.0749 3.1717 -1.7712 -0.05 3.3064 -1.9479 -0.05 3.4245 +4 16 1.8243 -0.05 3.4182 1.8658 -0.05 3.2097 2.0122 -0.0749 3.21 1.9596 -0.0749 3.4744 +4 16 -2.0516 -0.0749 3.3215 -1.9479 -0.05 3.4245 -2.066 -0.05 3.6012 -2.2013 -0.0749 3.5456 +4 16 1.8098 -0.0749 3.6986 1.7062 -0.05 3.5949 1.8243 -0.05 3.4182 1.9596 -0.0749 3.4744 +4 16 -2.2013 -0.0749 3.5456 -2.066 -0.05 3.6012 -2.1075 -0.05 3.8097 -2.2539 -0.0749 3.81 +4 16 1.5857 -0.0749 3.8483 1.5294 -0.05 3.713 1.7062 -0.05 3.5949 1.8098 -0.0749 3.6986 +4 16 1.3213 -0.0749 3.9039 1.321 -0.05 3.7575 1.5294 -0.05 3.713 1.5857 -0.0749 3.8483 +4 16 -2.2539 -0.0749 3.81 -2.1075 -0.05 3.8097 -2.066 -0.05 4.0182 -2.2013 -0.0749 4.0744 +4 16 -2.066 -0.05 4.0182 -1.9479 -0.05 4.1949 -2.0516 -0.0749 4.2986 -2.2013 -0.0749 4.0744 +4 16 -1.5627 -0.05 4.3545 1.321 -0.05 3.7575 1.3213 -0.0749 3.9039 -1.563 -0.0749 4.5009 +4 16 -1.8274 -0.0749 4.4483 -2.0516 -0.0749 4.2986 -1.9479 -0.05 4.1949 -1.7712 -0.05 4.313 +4 16 -1.563 -0.0749 4.5009 -1.8274 -0.0749 4.4483 -1.7712 -0.05 4.313 -1.5627 -0.05 4.3545 +5 24 2.1162 0 -4.6664 2.0654 -0.05 -4.5439 2.01 0 -4.6875 2.1125 -0.05 -4.5125 +5 24 2.01 -0.05 -4.5549 2.01 0 -4.6875 2.0654 -0.05 -4.5439 -2.2777 -0.05 -3.5322 +5 24 2.0654 -0.05 -4.5439 2.01 -0.05 -4.5549 2.01 0 -4.6875 2.01 -0.0749 -4.41 +5 24 2.2062 0 -4.6062 2.1125 -0.05 -4.5125 2.1162 0 -4.6664 2.1439 -0.05 -4.4654 +5 24 2.1125 -0.05 -4.5125 2.0654 -0.05 -4.5439 2.1162 0 -4.6664 2.01 -0.0749 -4.41 +5 24 2.2664 0 -4.5162 2.1439 -0.05 -4.4654 2.2062 0 -4.6062 2.1549 -0.05 -4.41 +5 24 2.1439 -0.05 -4.4654 2.1125 -0.05 -4.5125 2.2062 0 -4.6062 2.01 -0.0749 -4.41 +5 24 2.2875 0 -4.41 2.1549 -0.05 -4.41 2.2664 0 -4.5162 2.1549 -0.05 -3.21 +5 24 2.1549 -0.05 -4.41 2.1439 -0.05 -4.4654 2.2664 0 -4.5162 2.01 -0.0749 -4.41 +5 24 2.01 -0.05 -4.5549 -2.2777 -0.05 -3.5322 2.01 0 -4.6875 2.01 -0.0749 -4.41 +5 24 -2.2777 -0.05 -3.5322 -2.303 0 -3.6624 2.01 0 -4.6875 -2.4032 0 -3.6214 +5 24 -2.4032 0 -3.6214 -2.33 -0.05 -3.5108 -2.4801 0 -3.5452 -2.2777 -0.05 -3.5322 +5 24 -2.2777 -0.05 -3.5322 -2.33 -0.05 -3.5108 -2.4032 0 -3.6214 -2.25 -0.0749 -3.39 +5 24 -2.33 -0.05 -3.5108 -2.3701 -0.05 -3.471 -2.4801 0 -3.5452 -2.25 -0.0749 -3.39 +5 24 -2.3701 -0.05 -3.471 -2.4801 0 -3.5452 -2.33 -0.05 -3.5108 -2.5219 0 -3.4453 +5 24 -2.3701 -0.05 -3.471 -2.392 -0.05 -3.4189 -2.5219 0 -3.4453 -2.25 -0.0749 -3.39 +5 24 -2.392 -0.05 -3.4189 -2.5219 0 -3.4453 -2.3701 -0.05 -3.471 -2.5224 0 -3.3371 +5 24 -2.392 -0.05 -3.4189 -2.3922 -0.05 -3.3623 -2.5224 0 -3.3371 -2.25 -0.0749 -3.39 +5 24 -2.3922 -0.05 -3.3623 -2.5224 0 -3.3371 -2.392 -0.05 -3.4189 -2.4814 0 -3.2369 +5 24 -2.2224 -0.05 -3.2478 1.8651 -0.05 -4.2304 1.7325 0 -4.0661 -2.25 -0.0749 -3.39 +5 24 1.8651 -0.05 -4.2304 1.7325 0 -4.0661 -2.2224 -0.05 -3.2478 1.8651 -0.05 -3.21 +5 24 -2.3922 -0.05 -3.3623 -2.3708 -0.05 -3.31 -2.4814 0 -3.2369 -2.25 -0.0749 -3.39 +5 24 -2.3708 -0.05 -3.31 -2.4814 0 -3.2369 -2.3922 -0.05 -3.3623 -2.4052 0 -3.1599 +5 24 1.8651 -0.05 -3.21 1.7325 0 -3.21 1.7325 0 -4.0661 1.7536 0 -3.1038 +5 24 2.2875 0 -3.21 2.1549 -0.05 -3.21 2.2875 0 -4.41 2.1439 -0.05 -3.1546 +5 24 1.8651 -0.05 -4.2304 1.8651 -0.05 -3.21 1.7325 0 -4.0661 2.01 -0.0749 -3.21 +5 24 2.1549 -0.05 -3.21 2.1549 -0.05 -4.41 2.2875 0 -4.41 2.01 -0.0749 -3.21 +5 24 -2.3708 -0.05 -3.31 -2.331 -0.05 -3.2699 -2.4052 0 -3.1599 -2.25 -0.0749 -3.39 +5 24 -2.331 -0.05 -3.2699 -2.4052 0 -3.1599 -2.3708 -0.05 -3.31 -2.3053 0 -3.1181 +5 24 2.1439 -0.05 -3.1546 2.1549 -0.05 -3.21 2.2875 0 -3.21 2.01 -0.0749 -3.21 +5 24 -2.331 -0.05 -3.2699 -2.2789 -0.05 -3.248 -2.3053 0 -3.1181 -2.25 -0.0749 -3.39 +5 24 -2.2789 -0.05 -3.248 -2.3053 0 -3.1181 -2.331 -0.05 -3.2699 -2.1971 0 -3.1176 +5 24 -2.1971 0 -3.1176 -2.2224 -0.05 -3.2478 1.7325 0 -4.0661 -2.2789 -0.05 -3.248 +5 24 -2.2789 -0.05 -3.248 -2.2224 -0.05 -3.2478 -2.1971 0 -3.1176 -2.25 -0.0749 -3.39 +5 24 2.1125 -0.05 -3.1076 2.1439 -0.05 -3.1546 2.2664 0 -3.1038 2.01 -0.0749 -3.21 +5 24 2.1439 -0.05 -3.1546 2.2664 0 -3.1038 2.1125 -0.05 -3.1076 2.2875 0 -3.21 +5 24 1.8651 -0.05 -3.21 1.8761 -0.05 -3.1546 1.7536 0 -3.1038 2.01 -0.0749 -3.21 +5 24 1.8761 -0.05 -3.1546 1.7536 0 -3.1038 1.8651 -0.05 -3.21 1.8138 0 -3.0138 +5 24 2.2062 0 -3.0138 2.1125 -0.05 -3.1076 2.2664 0 -3.1038 2.0654 -0.05 -3.0761 +5 24 1.8761 -0.05 -3.1546 1.9076 -0.05 -3.1076 1.8138 0 -3.0138 2.01 -0.0749 -3.21 +5 24 1.9076 -0.05 -3.1076 1.8138 0 -3.0138 1.8761 -0.05 -3.1546 1.9038 0 -2.9536 +5 24 2.0654 -0.05 -3.0761 2.1125 -0.05 -3.1076 2.2062 0 -3.0138 2.01 -0.0749 -3.21 +5 24 2.1162 0 -2.9536 2.0654 -0.05 -3.0761 2.2062 0 -3.0138 2.01 -0.05 -3.0651 +5 24 2.01 -0.05 -3.0651 2.0654 -0.05 -3.0761 2.1162 0 -2.9536 2.01 -0.0749 -3.21 +5 24 1.9076 -0.05 -3.1076 1.9546 -0.05 -3.0761 1.9038 0 -2.9536 2.01 -0.0749 -3.21 +5 24 1.9546 -0.05 -3.0761 1.9038 0 -2.9536 1.9076 -0.05 -3.1076 2.01 0 -2.9325 +5 24 2.01 0 -2.9325 2.01 -0.05 -3.0651 2.1162 0 -2.9536 1.9546 -0.05 -3.0761 +5 24 1.9546 -0.05 -3.0761 2.01 -0.05 -3.0651 2.01 0 -2.9325 2.01 -0.0749 -3.21 +5 24 2.1162 0 -2.5064 2.0654 -0.05 -2.3839 2.01 0 -2.5275 2.1125 -0.05 -2.3525 +5 24 2.01 -0.05 -2.3949 2.01 0 -2.5275 2.0654 -0.05 -2.3839 -2.25 -0.05 -1.3794 +5 24 2.0654 -0.05 -2.3839 2.01 -0.05 -2.3949 2.01 0 -2.5275 2.01 -0.0749 -2.25 +5 24 2.2062 0 -2.4462 2.1125 -0.05 -2.3525 2.1162 0 -2.5064 2.1439 -0.05 -2.3054 +5 24 2.1125 -0.05 -2.3525 2.0654 -0.05 -2.3839 2.1162 0 -2.5064 2.01 -0.0749 -2.25 +5 24 2.2664 0 -2.3562 2.1439 -0.05 -2.3054 2.2062 0 -2.4462 2.1549 -0.05 -2.25 +5 24 2.1439 -0.05 -2.3054 2.1125 -0.05 -2.3525 2.2062 0 -2.4462 2.01 -0.0749 -2.25 +5 24 2.2875 0 -2.25 2.1549 -0.05 -2.25 2.2664 0 -2.3562 2.1549 -0.05 -1.05 +5 24 2.1549 -0.05 -2.25 2.1439 -0.05 -2.3054 2.2664 0 -2.3562 2.01 -0.0749 -2.25 +5 24 0.0849 -0.05 -1.646 1.8651 -0.05 -2.0704 1.7325 0 -1.9061 2.01 -0.0749 -2.25 +5 24 1.8651 -0.05 -2.0704 1.7325 0 -1.9061 0.0849 -0.05 -1.646 1.8651 -0.05 -1.05 +5 24 0.2175 0 -1.5438 0.0849 -0.05 -1.646 1.7325 0 -1.9061 0.2175 0 -0.8844 +5 24 2.01 -0.05 -2.3949 -2.25 -0.05 -1.3794 2.01 0 -2.5275 -0.06 -0.0749 -1.755 +5 24 -2.25 -0.05 -1.3794 -2.3054 -0.05 -1.3639 -2.3562 0 -1.4864 -2.25 -0.0749 -1.23 +5 24 -2.3054 -0.05 -1.3639 -2.3562 0 -1.4864 -2.25 -0.05 -1.3794 -2.4462 0 -1.4262 +5 24 -2.4462 0 -1.4262 -2.3525 -0.05 -1.3325 -2.5064 0 -1.3362 -2.3054 -0.05 -1.3639 +5 24 -2.3054 -0.05 -1.3639 -2.3525 -0.05 -1.3325 -2.4462 0 -1.4262 -2.25 -0.0749 -1.23 +5 24 -2.3525 -0.05 -1.3325 -2.3839 -0.05 -1.2854 -2.5064 0 -1.3362 -2.25 -0.0749 -1.23 +5 24 -2.3839 -0.05 -1.2854 -2.5064 0 -1.3362 -2.3525 -0.05 -1.3325 -2.5275 0 -1.23 +5 24 -2.3839 -0.05 -1.2854 -2.3949 -0.05 -1.23 -2.5275 0 -1.23 -2.25 -0.0749 -1.23 +5 24 -2.3949 -0.05 -1.23 -2.5275 0 -1.23 -2.3839 -0.05 -1.2854 -2.5275 0 -0.03 +5 24 -2.1051 -0.05 -1.121 -0.2049 -0.05 -1.5748 -0.3375 0 -1.4105 -2.25 -0.0749 -1.23 +5 24 -0.2049 -0.05 -1.5748 -0.3375 0 -1.4105 -2.1051 -0.05 -1.121 -0.2049 -0.05 -0.8844 +5 24 1.8651 -0.05 -2.0704 1.8651 -0.05 -1.05 1.7325 0 -1.9061 2.01 -0.0749 -1.05 +5 24 1.8651 -0.05 -1.05 1.7325 0 -1.05 1.7325 0 -1.9061 1.7536 0 -0.9438 +5 24 2.1549 -0.05 -1.05 2.1549 -0.05 -2.25 2.2875 0 -2.25 2.01 -0.0749 -1.05 +5 24 2.2875 0 -1.05 2.1549 -0.05 -1.05 2.2875 0 -2.25 2.1439 -0.05 -0.9946 +5 24 -1.9725 0 -1.0188 -2.1051 -0.05 -1.121 -0.3375 0 -1.4105 -1.9725 0 -0.03 +5 24 2.1439 -0.05 -0.9946 2.1549 -0.05 -1.05 2.2875 0 -1.05 2.01 -0.0749 -1.05 +5 24 2.2664 0 -0.9438 2.1439 -0.05 -0.9946 2.2875 0 -1.05 2.1125 -0.05 -0.9476 +5 24 2.1125 -0.05 -0.9476 2.1439 -0.05 -0.9946 2.2664 0 -0.9438 2.01 -0.0749 -1.05 +5 24 1.8651 -0.05 -1.05 1.8761 -0.05 -0.9946 1.7536 0 -0.9438 2.01 -0.0749 -1.05 +5 24 1.8761 -0.05 -0.9946 1.7536 0 -0.9438 1.8651 -0.05 -1.05 1.8138 0 -0.8538 +5 24 -0.2049 -0.05 -1.5748 -0.2049 -0.05 -0.8844 -0.3375 0 -1.4105 -0.06 -0.0749 -0.8844 +5 24 -0.2049 -0.05 -0.8844 -0.3375 0 -0.8844 -0.3375 0 -1.4105 -0.3164 0 -0.7782 +5 24 0.0849 -0.05 -0.8844 0.0849 -0.05 -1.646 0.2175 0 -0.8844 -0.06 -0.0749 -0.8844 +5 24 0.2175 0 -0.8844 0.0849 -0.05 -0.8844 0.0849 -0.05 -1.646 0.0739 -0.05 -0.829 +5 24 1.8761 -0.05 -0.9946 1.9076 -0.05 -0.9476 1.8138 0 -0.8538 2.01 -0.0749 -1.05 +5 24 1.9076 -0.05 -0.9476 1.8138 0 -0.8538 1.8761 -0.05 -0.9946 1.9038 0 -0.7936 +5 24 2.0654 -0.05 -0.9161 2.1125 -0.05 -0.9476 2.2062 0 -0.8538 2.01 -0.0749 -1.05 +5 24 2.1125 -0.05 -0.9476 2.2062 0 -0.8538 2.0654 -0.05 -0.9161 2.2664 0 -0.9438 +5 24 0.0739 -0.05 -0.829 0.0849 -0.05 -0.8844 0.2175 0 -0.8844 -0.06 -0.0749 -0.8844 +5 24 2.1162 0 -0.7936 2.0654 -0.05 -0.9161 2.2062 0 -0.8538 2.01 -0.05 -0.9051 +5 24 2.01 -0.05 -0.9051 2.0654 -0.05 -0.9161 2.1162 0 -0.7936 2.01 -0.0749 -1.05 +5 24 1.9076 -0.05 -0.9476 1.9546 -0.05 -0.9161 1.9038 0 -0.7936 2.01 -0.0749 -1.05 +5 24 1.9546 -0.05 -0.9161 1.9038 0 -0.7936 1.9076 -0.05 -0.9476 2.01 0 -0.7725 +5 24 0.1964 0 -0.7782 0.0739 -0.05 -0.829 0.2175 0 -0.8844 0.0425 -0.05 -0.782 +5 24 -0.2049 -0.05 -0.8844 -0.1939 -0.05 -0.829 -0.3164 0 -0.7782 -0.06 -0.0749 -0.8844 +5 24 -0.1939 -0.05 -0.829 -0.3164 0 -0.7782 -0.2049 -0.05 -0.8844 -0.2562 0 -0.6882 +5 24 0.0425 -0.05 -0.782 0.0739 -0.05 -0.829 0.1964 0 -0.7782 -0.06 -0.0749 -0.8844 +5 24 2.01 0 -0.7725 2.01 -0.05 -0.9051 2.1162 0 -0.7936 1.9546 -0.05 -0.9161 +5 24 1.9546 -0.05 -0.9161 2.01 -0.05 -0.9051 2.01 0 -0.7725 2.01 -0.0749 -1.05 +5 24 -0.0046 -0.05 -0.7505 0.0425 -0.05 -0.782 0.1362 0 -0.6882 -0.06 -0.0749 -0.8844 +5 24 0.0425 -0.05 -0.782 0.1362 0 -0.6882 -0.0046 -0.05 -0.7505 0.1964 0 -0.7782 +5 24 -0.1939 -0.05 -0.829 -0.1625 -0.05 -0.782 -0.2562 0 -0.6882 -0.06 -0.0749 -0.8844 +5 24 -0.1625 -0.05 -0.782 -0.2562 0 -0.6882 -0.1939 -0.05 -0.829 -0.1662 0 -0.628 +5 24 -0.1625 -0.05 -0.782 -0.1154 -0.05 -0.7505 -0.1662 0 -0.628 -0.06 -0.0749 -0.8844 +5 24 -0.1154 -0.05 -0.7505 -0.1662 0 -0.628 -0.1625 -0.05 -0.782 -0.06 0 -0.6069 +5 24 -0.06 -0.05 -0.7395 -0.0046 -0.05 -0.7505 0.0462 0 -0.628 -0.06 -0.0749 -0.8844 +5 24 -0.0046 -0.05 -0.7505 0.0462 0 -0.628 -0.06 -0.05 -0.7395 0.1362 0 -0.6882 +5 24 -0.1154 -0.05 -0.7505 -0.06 -0.05 -0.7395 -0.06 0 -0.6069 -0.06 -0.0749 -0.8844 +5 24 -0.06 -0.05 -0.7395 -0.06 0 -0.6069 -0.1154 -0.05 -0.7505 0.0462 0 -0.628 +5 24 -2.1051 -0.05 -0.03 -2.1051 -0.05 -1.121 -1.9725 0 -0.03 -2.25 -0.0749 -1.23 +5 24 -1.9725 0 -0.03 -2.1051 -0.05 -0.03 -2.1051 -0.05 -1.121 -2.1161 -0.05 0.0254 +5 24 -2.3949 -0.05 -1.23 -2.3949 -0.05 -0.03 -2.5275 0 -0.03 -2.25 -0.0749 -1.23 +5 24 -2.3949 -0.05 -0.03 -2.5275 0 -0.03 -2.3949 -0.05 -1.23 -2.5064 0 0.0762 +5 24 1.324 -0.05 -0.0235 1.3237 0 -0.1551 1.693 0 -0.0816 -1.5624 0 0.4419 +5 24 -2.1161 -0.05 0.0254 -2.1051 -0.05 -0.03 -1.9725 0 -0.03 -2.25 -0.0749 -0.03 +5 24 1.693 0 -0.0816 1.6429 -0.05 0.04 1.324 -0.05 -0.0235 2.0061 0 0.1276 +5 24 1.6429 -0.05 0.04 1.324 -0.05 -0.0235 1.693 0 -0.0816 1.3243 -0.0749 0.1191 +5 24 -1.9936 0 0.0762 -2.1161 -0.05 0.0254 -1.9725 0 -0.03 -2.1476 -0.05 0.0725 +5 24 -2.3949 -0.05 -0.03 -2.3839 -0.05 0.0254 -2.5064 0 0.0762 -2.25 -0.0749 -0.03 +5 24 -2.3839 -0.05 0.0254 -2.5064 0 0.0762 -2.3949 -0.05 -0.03 -2.4462 0 0.1662 +5 24 -2.1476 -0.05 0.0725 -2.1161 -0.05 0.0254 -1.9936 0 0.0762 -2.25 -0.0749 -0.03 +5 24 -2.3839 -0.05 0.0254 -2.3525 -0.05 0.0725 -2.4462 0 0.1662 -2.25 -0.0749 -0.03 +5 24 -2.3525 -0.05 0.0725 -2.4462 0 0.1662 -2.3839 -0.05 0.0254 -2.3562 0 0.2264 +5 24 -2.0538 0 0.1662 -2.1476 -0.05 0.0725 -1.9936 0 0.0762 -2.1946 -0.05 0.1039 +5 24 -2.1946 -0.05 0.1039 -2.1476 -0.05 0.0725 -2.0538 0 0.1662 -2.25 -0.0749 -0.03 +5 24 2.0061 0 0.1276 1.9133 -0.05 0.2207 1.6429 -0.05 0.04 2.2153 0 0.4407 +5 24 1.9133 -0.05 0.2207 1.6429 -0.05 0.04 2.0061 0 0.1276 1.5887 -0.0749 0.1717 +5 24 -2.25 -0.05 0.1149 -2.1946 -0.05 0.1039 -2.1438 0 0.2264 -2.25 -0.0749 -0.03 +5 24 -2.1946 -0.05 0.1039 -2.1438 0 0.2264 -2.25 -0.05 0.1149 -2.0538 0 0.1662 +5 24 -2.3525 -0.05 0.0725 -2.3054 -0.05 0.1039 -2.3562 0 0.2264 -2.25 -0.0749 -0.03 +5 24 -2.3054 -0.05 0.1039 -2.3562 0 0.2264 -2.3525 -0.05 0.0725 -2.25 0 0.2475 +5 24 -2.3054 -0.05 0.1039 -2.25 -0.05 0.1149 -2.25 0 0.2475 -2.25 -0.0749 -0.03 +5 24 -2.25 -0.05 0.1149 -2.25 0 0.2475 -2.3054 -0.05 0.1039 -2.1438 0 0.2264 +5 24 1.324 0 0.3963 1.324 -0.05 0.2649 1.5324 -0.05 0.3064 -1.5627 -0.05 0.8619 +5 24 1.324 -0.05 0.2649 1.5324 -0.05 0.3064 1.324 0 0.3963 1.5887 -0.0749 0.1717 +5 24 1.5324 -0.05 0.3064 1.4822 0 0.4277 1.324 0 0.3963 1.7092 -0.05 0.4245 +5 24 1.5324 -0.05 0.3064 1.7092 -0.05 0.4245 1.4822 0 0.4277 1.8128 -0.0749 0.3215 +5 24 2.2153 0 0.4407 2.094 -0.05 0.491 1.9133 -0.05 0.2207 2.2888 0 0.81 +5 24 2.094 -0.05 0.491 1.9133 -0.05 0.2207 2.2153 0 0.4407 1.8128 -0.0749 0.3215 +5 24 1.7092 -0.05 0.4245 1.6163 0 0.5174 1.4822 0 0.4277 1.8273 -0.05 0.6012 +5 24 1.324 -0.05 -0.0235 -1.5627 -0.05 0.5735 -1.5624 0 0.4419 1.3243 -0.0749 0.1191 +5 24 1.7092 -0.05 0.4245 1.8273 -0.05 0.6012 1.6163 0 0.5174 1.8128 -0.0749 0.3215 +5 24 -1.5627 -0.05 0.5735 -1.8817 -0.05 0.64 -1.9317 0 0.5184 -1.563 -0.0749 0.7161 +5 24 -1.8817 -0.05 0.64 -1.9317 0 0.5184 -1.5627 -0.05 0.5735 -2.2448 0 0.7276 +5 24 1.8273 -0.05 0.6012 1.7059 0 0.6515 1.6163 0 0.5174 1.8688 -0.05 0.8097 +5 24 1.8273 -0.05 0.6012 1.8688 -0.05 0.8097 1.7059 0 0.6515 1.9626 -0.0749 0.5456 +5 24 1.8688 -0.05 0.8097 1.7374 0 0.8097 1.7059 0 0.6515 1.8273 -0.05 1.0182 +5 24 2.2888 0 0.81 2.1574 -0.05 0.81 2.094 -0.05 0.491 2.2153 0 1.1793 +5 24 2.1574 -0.05 0.81 2.094 -0.05 0.491 2.2888 0 0.81 2.0152 -0.0749 0.81 +5 24 -1.8817 -0.05 0.64 -2.1521 -0.05 0.8207 -2.2448 0 0.7276 -1.8274 -0.0749 0.7717 +5 24 -2.1521 -0.05 0.8207 -2.2448 0 0.7276 -1.8817 -0.05 0.64 -2.454 0 1.0407 +5 24 -1.5627 -0.05 0.8619 1.324 -0.05 0.2649 1.324 0 0.3963 -1.563 -0.0749 0.7161 +5 24 -1.7712 -0.05 0.9064 -1.5627 -0.05 0.8619 -1.5627 0 0.9933 -1.8274 -0.0749 0.7717 +5 24 -1.5627 -0.05 0.8619 -1.5627 0 0.9933 -1.7712 -0.05 0.9064 1.324 0 0.3963 +5 24 1.8273 -0.05 1.0182 1.7059 0 0.9679 1.7374 0 0.8097 1.7092 -0.05 1.1949 +5 24 1.8688 -0.05 0.8097 1.8273 -0.05 1.0182 1.7374 0 0.8097 2.0152 -0.0749 0.81 +5 24 -1.7209 0 1.0277 -1.7712 -0.05 0.9064 -1.5627 0 0.9933 -1.9479 -0.05 1.0245 +5 24 -1.9479 -0.05 1.0245 -1.7712 -0.05 0.9064 -1.7209 0 1.0277 -2.0516 -0.0749 0.9215 +5 24 -2.1521 -0.05 0.8207 -2.3327 -0.05 1.091 -2.454 0 1.0407 -2.0516 -0.0749 0.9215 +5 24 -2.3327 -0.05 1.091 -2.454 0 1.0407 -2.1521 -0.05 0.8207 -2.5275 0 1.41 +5 24 -1.8551 0 1.1174 -1.9479 -0.05 1.0245 -1.7209 0 1.0277 -2.066 -0.05 1.2012 +5 24 2.094 -0.05 1.129 2.1574 -0.05 0.81 2.2153 0 1.1793 1.9626 -0.0749 1.0744 +5 24 2.2153 0 1.1793 2.094 -0.05 1.129 2.1574 -0.05 0.81 2.0061 0 1.4924 +5 24 1.8273 -0.05 1.0182 1.7092 -0.05 1.1949 1.7059 0 0.9679 1.8128 -0.0749 1.2986 +5 24 1.7092 -0.05 1.1949 1.6163 0 1.1021 1.7059 0 0.9679 1.5324 -0.05 1.313 +5 24 -2.066 -0.05 1.2012 -1.9479 -0.05 1.0245 -1.8551 0 1.1174 -2.0516 -0.0749 0.9215 +5 24 -1.9447 0 1.2515 -2.066 -0.05 1.2012 -1.8551 0 1.1174 -2.1075 -0.05 1.4097 +5 24 -0.06 0 1.1325 -0.06 -0.05 1.2651 -0.1662 0 1.1536 -0.0046 -0.05 1.2761 +5 24 -0.0046 -0.05 1.2761 -0.06 -0.05 1.2651 -0.06 0 1.1325 -0.06 -0.0749 1.41 +5 24 0.0462 0 1.1536 -0.0046 -0.05 1.2761 -0.06 0 1.1325 0.0425 -0.05 1.3076 +5 24 -0.06 -0.05 1.2651 -0.1154 -0.05 1.2761 -0.1662 0 1.1536 -0.06 -0.0749 1.41 +5 24 -0.1154 -0.05 1.2761 -0.1662 0 1.1536 -0.06 -0.05 1.2651 -0.2562 0 1.2138 +5 24 0.0425 -0.05 1.3076 -0.0046 -0.05 1.2761 0.0462 0 1.1536 -0.06 -0.0749 1.41 +5 24 -0.2562 0 1.2138 -0.1625 -0.05 1.3076 -0.3164 0 1.3038 -0.1154 -0.05 1.2761 +5 24 -0.1154 -0.05 1.2761 -0.1625 -0.05 1.3076 -0.2562 0 1.2138 -0.06 -0.0749 1.41 +5 24 0.1362 0 1.2138 0.0425 -0.05 1.3076 0.0462 0 1.1536 0.0739 -0.05 1.3546 +5 24 1.7092 -0.05 1.1949 1.5324 -0.05 1.313 1.6163 0 1.1021 1.5887 -0.0749 1.4483 +5 24 1.5324 -0.05 1.313 1.4822 0 1.1917 1.6163 0 1.1021 1.324 -0.05 1.3665 +5 24 0.0739 -0.05 1.3546 0.0425 -0.05 1.3076 0.1362 0 1.2138 -0.06 -0.0749 1.41 +5 24 0.1964 0 1.3038 0.0739 -0.05 1.3546 0.1362 0 1.2138 0.0849 -0.05 1.41 +5 24 -0.1625 -0.05 1.3076 -0.1939 -0.05 1.3546 -0.3164 0 1.3038 -0.06 -0.0749 1.41 +5 24 -0.1939 -0.05 1.3546 -0.3164 0 1.3038 -0.1625 -0.05 1.3076 -0.3375 0 1.41 +5 24 1.5324 -0.05 1.313 1.324 -0.05 1.3665 1.4822 0 1.1917 1.3243 -0.0749 1.5129 +5 24 1.324 -0.05 1.3665 1.324 0 1.2352 1.4822 0 1.1917 0.2175 0 1.4861 +5 24 -1.9762 0 1.4097 -2.1075 -0.05 1.4097 -1.9447 0 1.2515 -2.066 -0.05 1.6182 +5 24 -2.1075 -0.05 1.4097 -2.066 -0.05 1.2012 -1.9447 0 1.2515 -2.2013 -0.0749 1.1456 +5 24 0.0849 -0.05 1.41 0.0739 -0.05 1.3546 0.1964 0 1.3038 -0.06 -0.0749 1.41 +5 24 0.2175 0 1.41 0.0849 -0.05 1.41 0.1964 0 1.3038 0.2175 0 1.4861 +5 24 -0.1939 -0.05 1.3546 -0.2049 -0.05 1.41 -0.3375 0 1.41 -0.06 -0.0749 1.41 +5 24 -0.2049 -0.05 1.41 -0.3375 0 1.41 -0.1939 -0.05 1.3546 -0.3375 0 1.83 +5 24 -2.3327 -0.05 1.091 -2.3962 -0.05 1.41 -2.5275 0 1.41 -2.2539 -0.0749 1.41 +5 24 -2.3962 -0.05 1.41 -2.5275 0 1.41 -2.3327 -0.05 1.091 -2.454 0 1.7793 +5 24 1.9133 -0.05 1.3994 2.094 -0.05 1.129 2.0061 0 1.4924 1.9626 -0.0749 1.0744 +5 24 2.0061 0 1.4924 1.9133 -0.05 1.3994 2.094 -0.05 1.129 1.693 0 1.7016 +5 24 -2.066 -0.05 1.6182 -2.1075 -0.05 1.4097 -1.9762 0 1.4097 -2.2539 -0.0749 1.41 +5 24 -1.9447 0 1.5679 -2.066 -0.05 1.6182 -1.9762 0 1.4097 -1.9479 -0.05 1.7949 +5 24 0.0849 -0.05 1.6505 0.0849 -0.05 1.41 0.2175 0 1.4861 -0.06 -0.0749 1.41 +5 24 0.2175 0 1.4861 0.0849 -0.05 1.6505 0.0849 -0.05 1.41 1.324 -0.05 1.3665 +5 24 1.324 -0.05 1.3665 0.0849 -0.05 1.6505 0.2175 0 1.4861 1.3243 -0.0749 1.5129 +5 24 1.6429 -0.05 1.58 1.9133 -0.05 1.3994 1.693 0 1.7016 1.8128 -0.0749 1.2986 +5 24 1.693 0 1.7016 1.6429 -0.05 1.58 1.9133 -0.05 1.3994 1.3237 0 1.7871 +5 24 -2.3962 -0.05 1.41 -2.3327 -0.05 1.729 -2.454 0 1.7793 -2.2013 -0.0749 1.6744 +5 24 -2.3327 -0.05 1.729 -2.454 0 1.7793 -2.3962 -0.05 1.41 -2.2448 0 2.0924 +5 24 1.3237 0 1.7871 1.324 -0.05 1.6555 1.6429 -0.05 1.58 -0.06 -0.05 1.9749 +5 24 1.324 -0.05 1.6555 1.6429 -0.05 1.58 1.3237 0 1.7871 1.5887 -0.0749 1.4483 +5 24 -1.9479 -0.05 1.7949 -2.066 -0.05 1.6182 -1.9447 0 1.5679 -2.0516 -0.0749 1.8986 +5 24 -1.8551 0 1.7021 -1.9479 -0.05 1.7949 -1.9447 0 1.5679 -1.7712 -0.05 1.913 +5 24 -0.2049 -0.05 1.41 -0.2049 -0.05 1.83 -0.3375 0 1.83 -0.06 -0.0749 1.83 +5 24 -0.2049 -0.05 1.83 -0.3375 0 1.83 -0.2049 -0.05 1.41 -0.3164 0 1.9362 +5 24 -1.7712 -0.05 1.913 -1.9479 -0.05 1.7949 -1.8551 0 1.7021 -1.8274 -0.0749 2.0483 +5 24 -1.7209 0 1.7917 -1.7712 -0.05 1.913 -1.8551 0 1.7021 -1.5627 -0.05 1.9545 +5 24 -0.2049 -0.05 1.83 -0.1939 -0.05 1.8854 -0.3164 0 1.9362 -0.06 -0.0749 1.83 +5 24 -0.1939 -0.05 1.8854 -0.3164 0 1.9362 -0.2049 -0.05 1.83 -0.2562 0 2.0262 +5 24 -1.5627 0 1.8232 -1.5627 -0.05 1.9545 -1.7209 0 1.7917 -1.507 -0.05 1.9661 +5 24 -1.5627 -0.05 1.9545 -1.7712 -0.05 1.913 -1.7209 0 1.7917 -1.563 -0.0749 2.1009 +5 24 -1.507 -0.05 1.9661 -1.5627 -0.05 1.9545 -1.5627 0 1.8232 -1.563 -0.0749 2.1009 +5 24 -1.4562 0 1.8436 -1.507 -0.05 1.9661 -1.5627 0 1.8232 -1.46 -0.05 1.9976 +5 24 -0.06 -0.05 1.9749 1.324 -0.05 1.6555 1.3237 0 1.7871 -0.06 -0.0749 1.83 +5 24 -1.46 -0.05 1.9976 -1.507 -0.05 1.9661 -1.4562 0 1.8436 -1.563 -0.0749 2.1009 +5 24 -1.3662 0 1.9038 -1.46 -0.05 1.9976 -1.4562 0 1.8436 -1.4285 -0.05 2.0446 +5 24 -0.1939 -0.05 1.8854 -0.1625 -0.05 1.9325 -0.2562 0 2.0262 -0.06 -0.0749 1.83 +5 24 -0.1625 -0.05 1.9325 -0.2562 0 2.0262 -0.1939 -0.05 1.8854 -0.1662 0 2.0864 +5 24 -1.306 0 1.9938 -1.4285 -0.05 2.0446 -1.3662 0 1.9038 -1.4175 -0.05 2.1 +5 24 -1.4285 -0.05 2.0446 -1.46 -0.05 1.9976 -1.3662 0 1.9038 -1.563 -0.0749 2.1009 +5 24 -0.1625 -0.05 1.9325 -0.1154 -0.05 1.9639 -0.1662 0 2.0864 -0.06 -0.0749 1.83 +5 24 -0.1154 -0.05 1.9639 -0.1662 0 2.0864 -0.1625 -0.05 1.9325 -0.06 0 2.1075 +5 24 -2.3327 -0.05 1.729 -2.1521 -0.05 1.9994 -2.2448 0 2.0924 -2.2013 -0.0749 1.6744 +5 24 -2.1521 -0.05 1.9994 -2.2448 0 2.0924 -2.3327 -0.05 1.729 -1.9317 0 2.3016 +5 24 -1.4175 -0.05 2.1 -1.4285 -0.05 2.0446 -1.306 0 1.9938 -1.563 -0.0749 2.1009 +5 24 -1.2849 0 2.1 -1.4175 -0.05 2.1 -1.306 0 1.9938 -1.4285 -0.05 2.1554 +5 24 -0.1154 -0.05 1.9639 -0.06 -0.05 1.9749 -0.06 0 2.1075 -0.06 -0.0749 1.83 +5 24 -0.06 -0.05 1.9749 -0.06 0 2.1075 -0.1154 -0.05 1.9639 1.3237 0 1.7871 +5 24 -1.4285 -0.05 2.1554 -1.4175 -0.05 2.1 -1.2849 0 2.1 -1.563 -0.0749 2.1009 +5 24 -1.306 0 2.2062 -1.4285 -0.05 2.1554 -1.2849 0 2.1 -1.46 -0.05 2.2025 +5 24 -1.46 -0.05 2.2025 -1.4285 -0.05 2.1554 -1.306 0 2.2062 -1.563 -0.0749 2.1009 +5 24 -1.507 -0.05 2.2339 -1.46 -0.05 2.2025 -1.3662 0 2.2962 -1.563 -0.0749 2.1009 +5 24 -1.46 -0.05 2.2025 -1.3662 0 2.2962 -1.507 -0.05 2.2339 -1.306 0 2.2062 +5 24 -2.1521 -0.05 1.9994 -1.8817 -0.05 2.18 -1.9317 0 2.3016 -2.0516 -0.0749 1.8986 +5 24 -1.8817 -0.05 2.18 -1.9317 0 2.3016 -2.1521 -0.05 1.9994 -1.5624 0 2.3751 +5 24 -1.4562 0 2.3564 -1.507 -0.05 2.2339 -1.3662 0 2.2962 -1.5627 -0.05 2.2435 +5 24 -1.5627 -0.05 2.2435 -1.507 -0.05 2.2339 -1.4562 0 2.3564 -1.563 -0.0749 2.1009 +5 24 -1.5624 0 2.3751 -1.5627 -0.05 2.2435 -1.4562 0 2.3564 -1.8817 -0.05 2.18 +5 24 -1.8817 -0.05 2.18 -1.5627 -0.05 2.2435 -1.5624 0 2.3751 -1.8274 -0.0749 2.0483 +5 24 1.321 -0.05 2.3765 1.3207 0 2.2449 1.69 0 2.3184 -1.5624 0 2.8419 +5 24 1.69 0 2.3184 1.6399 -0.05 2.44 1.321 -0.05 2.3765 2.0031 0 2.5276 +5 24 1.6399 -0.05 2.44 1.321 -0.05 2.3765 1.69 0 2.3184 1.3213 -0.0749 2.5191 +5 24 2.0031 0 2.5276 1.9103 -0.05 2.6207 1.6399 -0.05 2.44 2.2123 0 2.8407 +5 24 1.9103 -0.05 2.6207 1.6399 -0.05 2.44 2.0031 0 2.5276 1.5857 -0.0749 2.5717 +5 24 1.321 0 2.7963 1.321 -0.05 2.6649 1.5294 -0.05 2.7064 -1.5627 -0.05 3.2619 +5 24 1.321 -0.05 2.6649 1.5294 -0.05 2.7064 1.321 0 2.7963 1.5857 -0.0749 2.5717 +5 24 1.5294 -0.05 2.7064 1.4792 0 2.8277 1.321 0 2.7963 1.7062 -0.05 2.8245 +5 24 1.5294 -0.05 2.7064 1.7062 -0.05 2.8245 1.4792 0 2.8277 1.8098 -0.0749 2.7215 +5 24 2.2123 0 2.8407 2.091 -0.05 2.891 1.9103 -0.05 2.6207 2.2858 0 3.21 +5 24 2.091 -0.05 2.891 1.9103 -0.05 2.6207 2.2123 0 2.8407 1.8098 -0.0749 2.7215 +5 24 1.7062 -0.05 2.8245 1.6133 0 2.9174 1.4792 0 2.8277 1.8243 -0.05 3.0012 +5 24 1.321 -0.05 2.3765 -1.5627 -0.05 2.9735 -1.5624 0 2.8419 1.3213 -0.0749 2.5191 +5 24 1.7062 -0.05 2.8245 1.8243 -0.05 3.0012 1.6133 0 2.9174 1.8098 -0.0749 2.7215 +5 24 -1.5627 -0.05 2.9735 -1.8817 -0.05 3.04 -1.9317 0 2.9184 -1.563 -0.0749 3.1161 +5 24 -1.8817 -0.05 3.04 -1.9317 0 2.9184 -1.5627 -0.05 2.9735 -2.2448 0 3.1276 +5 24 1.8243 -0.05 3.0012 1.7029 0 3.0515 1.6133 0 2.9174 1.8658 -0.05 3.2097 +5 24 1.8243 -0.05 3.0012 1.8658 -0.05 3.2097 1.7029 0 3.0515 1.9596 -0.0749 2.9456 +5 24 1.8658 -0.05 3.2097 1.7344 0 3.2097 1.7029 0 3.0515 1.8243 -0.05 3.4182 +5 24 2.2858 0 3.21 2.1544 -0.05 3.21 2.091 -0.05 2.891 2.2123 0 3.5793 +5 24 2.1544 -0.05 3.21 2.091 -0.05 2.891 2.2858 0 3.21 2.0122 -0.0749 3.21 +5 24 -1.8817 -0.05 3.04 -2.1521 -0.05 3.2207 -2.2448 0 3.1276 -1.8274 -0.0749 3.1717 +5 24 -2.1521 -0.05 3.2207 -2.2448 0 3.1276 -1.8817 -0.05 3.04 -2.454 0 3.4407 +5 24 -1.5627 -0.05 3.2619 1.321 -0.05 2.6649 1.321 0 2.7963 -1.563 -0.0749 3.1161 +5 24 -1.5627 0 3.3932 -1.5627 -0.05 3.2619 1.321 0 2.7963 -1.7712 -0.05 3.3064 +5 24 -1.7712 -0.05 3.3064 -1.5627 -0.05 3.2619 -1.5627 0 3.3932 -1.8274 -0.0749 3.1717 +5 24 1.8658 -0.05 3.2097 1.8243 -0.05 3.4182 1.7344 0 3.2097 2.0122 -0.0749 3.21 +5 24 1.8243 -0.05 3.4182 1.7029 0 3.3679 1.7344 0 3.2097 1.7062 -0.05 3.5949 +5 24 -1.9479 -0.05 3.4245 -1.7712 -0.05 3.3064 -1.7209 0 3.4277 -2.0516 -0.0749 3.3215 +5 24 -1.7712 -0.05 3.3064 -1.7209 0 3.4277 -1.9479 -0.05 3.4245 -1.5627 0 3.3932 +5 24 -2.1521 -0.05 3.2207 -2.3327 -0.05 3.491 -2.454 0 3.4407 -2.0516 -0.0749 3.3215 +5 24 -2.3327 -0.05 3.491 -2.454 0 3.4407 -2.1521 -0.05 3.2207 -2.5275 0 3.81 +5 24 -1.8551 0 3.5174 -1.9479 -0.05 3.4245 -1.7209 0 3.4277 -2.066 -0.05 3.6012 +5 24 2.091 -0.05 3.529 2.1544 -0.05 3.21 2.2123 0 3.5793 1.9596 -0.0749 3.4744 +5 24 2.2123 0 3.5793 2.091 -0.05 3.529 2.1544 -0.05 3.21 2.0031 0 3.8924 +5 24 1.7062 -0.05 3.5949 1.6133 0 3.5021 1.7029 0 3.3679 1.5294 -0.05 3.713 +5 24 1.8243 -0.05 3.4182 1.7062 -0.05 3.5949 1.7029 0 3.3679 1.8098 -0.0749 3.6986 +5 24 -2.066 -0.05 3.6012 -1.9479 -0.05 3.4245 -1.8551 0 3.5174 -2.0516 -0.0749 3.3215 +5 24 -1.9447 0 3.6515 -2.066 -0.05 3.6012 -1.8551 0 3.5174 -2.1075 -0.05 3.8097 +5 24 1.7062 -0.05 3.5949 1.5294 -0.05 3.713 1.6133 0 3.5021 1.5857 -0.0749 3.8483 +5 24 1.5294 -0.05 3.713 1.4792 0 3.5917 1.6133 0 3.5021 1.321 -0.05 3.7575 +5 24 1.321 -0.05 3.7575 1.321 0 3.6262 1.4792 0 3.5917 -1.5627 0 4.2232 +5 24 1.5294 -0.05 3.713 1.321 -0.05 3.7575 1.4792 0 3.5917 1.3213 -0.0749 3.9039 +5 24 -1.9762 0 3.8097 -2.1075 -0.05 3.8097 -1.9447 0 3.6515 -2.066 -0.05 4.0182 +5 24 -2.1075 -0.05 3.8097 -2.066 -0.05 3.6012 -1.9447 0 3.6515 -2.2013 -0.0749 3.5456 +5 24 -2.3327 -0.05 3.491 -2.3962 -0.05 3.81 -2.5275 0 3.81 -2.2539 -0.0749 3.81 +5 24 -2.3962 -0.05 3.81 -2.5275 0 3.81 -2.3327 -0.05 3.491 -2.454 0 4.1793 +5 24 1.9103 -0.05 3.7994 2.091 -0.05 3.529 2.0031 0 3.8924 1.9596 -0.0749 3.4744 +5 24 2.0031 0 3.8924 1.9103 -0.05 3.7994 2.091 -0.05 3.529 1.69 0 4.1016 +5 24 -2.066 -0.05 4.0182 -2.1075 -0.05 3.8097 -1.9762 0 3.8097 -2.2539 -0.0749 3.81 +5 24 -1.9447 0 3.9679 -2.066 -0.05 4.0182 -1.9762 0 3.8097 -1.9479 -0.05 4.1949 +5 24 1.6399 -0.05 3.98 1.9103 -0.05 3.7994 1.69 0 4.1016 1.8098 -0.0749 3.6986 +5 24 1.69 0 4.1016 1.6399 -0.05 3.98 1.9103 -0.05 3.7994 1.3207 0 4.1781 +5 24 1.321 -0.05 4.0465 1.6399 -0.05 3.98 1.3207 0 4.1781 1.5857 -0.0749 3.8483 +5 24 -2.3962 -0.05 3.81 -2.3327 -0.05 4.129 -2.454 0 4.1793 -2.2013 -0.0749 4.0744 +5 24 -2.3327 -0.05 4.129 -2.454 0 4.1793 -2.3962 -0.05 3.81 -2.2448 0 4.4924 +5 24 -1.9479 -0.05 4.1949 -2.066 -0.05 4.0182 -1.9447 0 3.9679 -2.0516 -0.0749 4.2986 +5 24 -1.8551 0 4.1021 -1.9479 -0.05 4.1949 -1.9447 0 3.9679 -1.7712 -0.05 4.313 +5 24 -1.7209 0 4.1917 -1.7712 -0.05 4.313 -1.8551 0 4.1021 -1.5627 -0.05 4.3545 +5 24 -1.7712 -0.05 4.313 -1.9479 -0.05 4.1949 -1.8551 0 4.1021 -1.8274 -0.0749 4.4483 +5 24 -1.5627 0 4.2232 -1.5627 -0.05 4.3545 -1.7209 0 4.1917 1.321 -0.05 3.7575 +5 24 1.321 -0.05 3.7575 -1.5627 -0.05 4.3545 -1.5627 0 4.2232 1.3213 -0.0749 3.9039 +5 24 -1.5627 -0.05 4.3545 -1.7712 -0.05 4.313 -1.7209 0 4.1917 -1.563 -0.0749 4.5009 +5 24 -2.3327 -0.05 4.129 -2.1521 -0.05 4.3994 -2.2448 0 4.4924 -2.2013 -0.0749 4.0744 +5 24 -2.1521 -0.05 4.3994 -2.2448 0 4.4924 -2.3327 -0.05 4.129 -1.9317 0 4.7016 +5 24 -1.5627 -0.05 4.6435 1.321 -0.05 4.0465 1.3207 0 4.1781 -1.563 -0.0749 4.5009 +5 24 -2.1521 -0.05 4.3994 -1.8817 -0.05 4.58 -1.9317 0 4.7016 -2.0516 -0.0749 4.2986 +5 24 -1.8817 -0.05 4.58 -1.9317 0 4.7016 -2.1521 -0.05 4.3994 -1.5624 0 4.7751 +5 24 -1.5624 0 4.7751 -1.5627 -0.05 4.6435 1.3207 0 4.1781 -1.8817 -0.05 4.58 +5 24 -1.8817 -0.05 4.58 -1.5627 -0.05 4.6435 -1.5624 0 4.7751 -1.8274 -0.0749 4.4483 +5 24 2.01 -0.0749 -4.41 2.1439 -0.05 -4.4654 2.1549 -0.05 -4.41 2.1125 -0.05 -4.5125 +5 24 2.1549 -0.05 -4.41 2.01 -0.0749 -4.41 2.1439 -0.05 -4.4654 2.01 -0.0749 -3.21 +5 24 2.01 -0.0749 -4.41 2.1125 -0.05 -4.5125 2.1439 -0.05 -4.4654 2.0654 -0.05 -4.5439 +5 24 2.01 -0.0749 -4.41 2.0654 -0.05 -4.5439 2.1125 -0.05 -4.5125 2.01 -0.05 -4.5549 +5 24 2.01 -0.0749 -4.41 2.01 -0.05 -4.5549 2.0654 -0.05 -4.5439 -2.2777 -0.05 -3.5322 +5 24 2.01 -0.0749 -4.41 -2.25 -0.0749 -3.39 -2.2777 -0.05 -3.5322 1.8651 -0.05 -4.2304 +5 24 -2.25 -0.0749 -3.39 -2.2777 -0.05 -3.5322 2.01 -0.0749 -4.41 -2.33 -0.05 -3.5108 +5 24 -2.3701 -0.05 -3.471 -2.25 -0.0749 -3.39 -2.392 -0.05 -3.4189 -2.33 -0.05 -3.5108 +5 24 -2.25 -0.0749 -3.39 -2.392 -0.05 -3.4189 -2.3701 -0.05 -3.471 -2.3922 -0.05 -3.3623 +5 24 -2.25 -0.0749 -3.39 -2.33 -0.05 -3.5108 -2.2777 -0.05 -3.5322 -2.3701 -0.05 -3.471 +5 24 -2.25 -0.0749 -3.39 -2.3922 -0.05 -3.3623 -2.392 -0.05 -3.4189 -2.3708 -0.05 -3.31 +5 24 2.01 -0.0749 -3.21 2.01 -0.0749 -4.41 2.1549 -0.05 -4.41 1.8651 -0.05 -4.2304 +5 24 2.1549 -0.05 -3.21 2.01 -0.0749 -3.21 2.1549 -0.05 -4.41 2.1439 -0.05 -3.1546 +5 24 2.1439 -0.05 -3.1546 2.01 -0.0749 -3.21 2.1549 -0.05 -3.21 2.1125 -0.05 -3.1076 +5 24 2.1125 -0.05 -3.1076 2.01 -0.0749 -3.21 2.1439 -0.05 -3.1546 2.0654 -0.05 -3.0761 +5 24 2.0654 -0.05 -3.0761 2.01 -0.0749 -3.21 2.1125 -0.05 -3.1076 2.01 -0.05 -3.0651 +5 24 2.01 -0.05 -3.0651 2.01 -0.0749 -3.21 2.0654 -0.05 -3.0761 1.9546 -0.05 -3.0761 +5 24 2.01 -0.0749 -2.25 2.1439 -0.05 -2.3054 2.1549 -0.05 -2.25 2.1125 -0.05 -2.3525 +5 24 2.1549 -0.05 -2.25 2.01 -0.0749 -2.25 2.1439 -0.05 -2.3054 2.01 -0.0749 -1.05 +5 24 2.01 -0.0749 -2.25 2.1125 -0.05 -2.3525 2.1439 -0.05 -2.3054 2.0654 -0.05 -2.3839 +5 24 2.01 -0.0749 -2.25 2.01 -0.05 -2.3949 2.0654 -0.05 -2.3839 -0.06 -0.0749 -1.755 +5 24 2.0654 -0.05 -2.3839 2.01 -0.0749 -2.25 2.01 -0.05 -2.3949 2.1125 -0.05 -2.3525 +5 24 2.01 -0.0749 -2.25 -0.06 -0.0749 -1.755 2.01 -0.05 -2.3949 0.0849 -0.05 -1.646 +5 24 -0.06 -0.0749 -1.755 -2.25 -0.05 -1.3794 2.01 -0.05 -2.3949 -2.25 -0.0749 -1.23 +5 24 -2.3054 -0.05 -1.3639 -2.25 -0.0749 -1.23 -2.3525 -0.05 -1.3325 -2.25 -0.05 -1.3794 +5 24 -2.25 -0.0749 -1.23 -2.3525 -0.05 -1.3325 -2.3054 -0.05 -1.3639 -2.3839 -0.05 -1.2854 +5 24 -2.25 -0.0749 -1.23 -2.3839 -0.05 -1.2854 -2.3525 -0.05 -1.3325 -2.3949 -0.05 -1.23 +5 24 -2.25 -0.0749 -1.23 -2.25 -0.05 -1.3794 -0.06 -0.0749 -1.755 -2.3054 -0.05 -1.3639 +5 24 -0.06 -0.0749 -1.755 -2.25 -0.0749 -1.23 -2.25 -0.05 -1.3794 -0.2049 -0.05 -1.5748 +5 24 -2.25 -0.0749 -1.23 -2.3949 -0.05 -1.23 -2.3839 -0.05 -1.2854 -2.3949 -0.05 -0.03 +5 24 2.1549 -0.05 -1.05 2.01 -0.0749 -1.05 2.1549 -0.05 -2.25 2.1439 -0.05 -0.9946 +5 24 2.01 -0.0749 -1.05 2.01 -0.0749 -2.25 2.1549 -0.05 -2.25 1.8651 -0.05 -2.0704 +5 24 2.1439 -0.05 -0.9946 2.01 -0.0749 -1.05 2.1549 -0.05 -1.05 2.1125 -0.05 -0.9476 +5 24 2.1125 -0.05 -0.9476 2.01 -0.0749 -1.05 2.1439 -0.05 -0.9946 2.0654 -0.05 -0.9161 +5 24 2.0654 -0.05 -0.9161 2.01 -0.0749 -1.05 2.1125 -0.05 -0.9476 2.01 -0.05 -0.9051 +5 24 2.01 -0.05 -0.9051 2.01 -0.0749 -1.05 2.0654 -0.05 -0.9161 1.9546 -0.05 -0.9161 +5 24 -0.06 -0.0749 -0.8844 -0.06 -0.0749 -1.755 0.0849 -0.05 -1.646 -0.2049 -0.05 -1.5748 +5 24 -0.06 -0.0749 -1.755 0.0849 -0.05 -1.646 -0.06 -0.0749 -0.8844 2.01 -0.0749 -2.25 +5 24 0.0849 -0.05 -0.8844 -0.06 -0.0749 -0.8844 0.0849 -0.05 -1.646 0.0739 -0.05 -0.829 +5 24 0.0739 -0.05 -0.829 -0.06 -0.0749 -0.8844 0.0849 -0.05 -0.8844 0.0425 -0.05 -0.782 +5 24 0.0425 -0.05 -0.782 -0.06 -0.0749 -0.8844 0.0739 -0.05 -0.829 -0.0046 -0.05 -0.7505 +5 24 -0.0046 -0.05 -0.7505 -0.06 -0.0749 -0.8844 0.0425 -0.05 -0.782 -0.06 -0.05 -0.7395 +5 24 -0.06 -0.05 -0.7395 -0.06 -0.0749 -0.8844 -0.0046 -0.05 -0.7505 -0.1154 -0.05 -0.7505 +5 24 -2.25 -0.0749 -1.23 -2.25 -0.0749 -0.03 -2.3949 -0.05 -0.03 -2.1051 -0.05 -0.03 +5 24 -2.25 -0.0749 -0.03 -2.3949 -0.05 -0.03 -2.25 -0.0749 -1.23 -2.3839 -0.05 0.0254 +5 24 -2.25 -0.0749 -0.03 -2.3839 -0.05 0.0254 -2.3949 -0.05 -0.03 -2.3525 -0.05 0.0725 +5 24 -2.25 -0.0749 -0.03 -2.3525 -0.05 0.0725 -2.3839 -0.05 0.0254 -2.3054 -0.05 0.1039 +5 24 -2.25 -0.0749 -0.03 -2.3054 -0.05 0.1039 -2.3525 -0.05 0.0725 -2.25 -0.05 0.1149 +5 24 -2.25 -0.0749 -0.03 -2.25 -0.05 0.1149 -2.3054 -0.05 0.1039 -2.1946 -0.05 0.1039 +5 24 1.3243 -0.0749 0.1191 1.324 -0.05 -0.0235 1.6429 -0.05 0.04 -1.5627 -0.05 0.5735 +5 24 1.6429 -0.05 0.04 1.5887 -0.0749 0.1717 1.3243 -0.0749 0.1191 1.9133 -0.05 0.2207 +5 24 1.5887 -0.0749 0.1717 1.3243 -0.0749 0.1191 1.6429 -0.05 0.04 1.324 -0.05 0.2649 +5 24 1.9133 -0.05 0.2207 1.8128 -0.0749 0.3215 1.5887 -0.0749 0.1717 2.094 -0.05 0.491 +5 24 1.8128 -0.0749 0.3215 1.5887 -0.0749 0.1717 1.9133 -0.05 0.2207 1.5324 -0.05 0.3064 +5 24 2.094 -0.05 0.491 1.9626 -0.0749 0.5456 1.8128 -0.0749 0.3215 2.0152 -0.0749 0.81 +5 24 1.9626 -0.0749 0.5456 1.8128 -0.0749 0.3215 2.094 -0.05 0.491 1.8273 -0.05 0.6012 +5 24 1.3243 -0.0749 0.1191 -1.563 -0.0749 0.7161 -1.5627 -0.05 0.5735 1.324 -0.05 0.2649 +5 24 -1.563 -0.0749 0.7161 -1.8274 -0.0749 0.7717 -1.8817 -0.05 0.64 -1.5627 -0.05 0.8619 +5 24 -1.8274 -0.0749 0.7717 -1.8817 -0.05 0.64 -1.563 -0.0749 0.7161 -2.1521 -0.05 0.8207 +5 24 2.0152 -0.0749 0.81 1.9626 -0.0749 0.5456 2.094 -0.05 0.491 1.8688 -0.05 0.8097 +5 24 2.1574 -0.05 0.81 2.0152 -0.0749 0.81 2.094 -0.05 0.491 1.9626 -0.0749 1.0744 +5 24 -1.8274 -0.0749 0.7717 -2.0516 -0.0749 0.9215 -2.1521 -0.05 0.8207 -1.7712 -0.05 0.9064 +5 24 -2.0516 -0.0749 0.9215 -2.1521 -0.05 0.8207 -1.8274 -0.0749 0.7717 -2.3327 -0.05 1.091 +5 24 1.9626 -0.0749 1.0744 2.0152 -0.0749 0.81 2.1574 -0.05 0.81 1.8273 -0.05 1.0182 +5 24 2.094 -0.05 1.129 1.9626 -0.0749 1.0744 2.1574 -0.05 0.81 1.9133 -0.05 1.3994 +5 24 -2.0516 -0.0749 0.9215 -2.2013 -0.0749 1.1456 -2.3327 -0.05 1.091 -2.066 -0.05 1.2012 +5 24 -2.2013 -0.0749 1.1456 -2.3327 -0.05 1.091 -2.0516 -0.0749 0.9215 -2.2539 -0.0749 1.41 +5 24 1.8128 -0.0749 1.2986 1.9626 -0.0749 1.0744 1.9133 -0.05 1.3994 1.8273 -0.05 1.0182 +5 24 1.9133 -0.05 1.3994 1.8128 -0.0749 1.2986 1.9626 -0.0749 1.0744 1.6429 -0.05 1.58 +5 24 -2.2013 -0.0749 1.1456 -2.2539 -0.0749 1.41 -2.3327 -0.05 1.091 -2.1075 -0.05 1.4097 +5 24 -0.1625 -0.05 1.3076 -0.06 -0.0749 1.41 -0.1939 -0.05 1.3546 -0.1154 -0.05 1.2761 +5 24 -0.06 -0.0749 1.41 -0.1939 -0.05 1.3546 -0.1625 -0.05 1.3076 -0.2049 -0.05 1.41 +5 24 -0.1154 -0.05 1.2761 -0.06 -0.0749 1.41 -0.1625 -0.05 1.3076 -0.06 -0.05 1.2651 +5 24 -0.06 -0.05 1.2651 -0.06 -0.0749 1.41 -0.1154 -0.05 1.2761 -0.0046 -0.05 1.2761 +5 24 -0.06 -0.0749 1.41 -0.2049 -0.05 1.41 -0.1939 -0.05 1.3546 -0.06 -0.0749 1.83 +5 24 -2.2539 -0.0749 1.41 -2.3962 -0.05 1.41 -2.3327 -0.05 1.091 -2.2013 -0.0749 1.6744 +5 24 1.5887 -0.0749 1.4483 1.8128 -0.0749 1.2986 1.6429 -0.05 1.58 1.7092 -0.05 1.1949 +5 24 1.6429 -0.05 1.58 1.5887 -0.0749 1.4483 1.8128 -0.0749 1.2986 1.324 -0.05 1.6555 +5 24 1.324 -0.05 1.6555 1.3243 -0.0749 1.5129 1.5887 -0.0749 1.4483 -0.06 -0.0749 1.83 +5 24 1.3243 -0.0749 1.5129 1.5887 -0.0749 1.4483 1.324 -0.05 1.6555 1.5324 -0.05 1.313 +5 24 -2.2539 -0.0749 1.41 -2.2013 -0.0749 1.6744 -2.3962 -0.05 1.41 -2.066 -0.05 1.6182 +5 24 -2.2013 -0.0749 1.6744 -2.3327 -0.05 1.729 -2.3962 -0.05 1.41 -2.1521 -0.05 1.9994 +5 24 -0.06 -0.0749 1.83 1.3243 -0.0749 1.5129 1.324 -0.05 1.6555 0.0849 -0.05 1.6505 +5 24 -0.06 -0.0749 1.41 -0.06 -0.0749 1.83 -0.2049 -0.05 1.41 0.0849 -0.05 1.6505 +5 24 -0.06 -0.0749 1.83 -0.2049 -0.05 1.83 -0.2049 -0.05 1.41 -0.1939 -0.05 1.8854 +5 24 -0.06 -0.0749 1.83 -0.1939 -0.05 1.8854 -0.2049 -0.05 1.83 -0.1625 -0.05 1.9325 +5 24 -0.06 -0.0749 1.83 -0.1625 -0.05 1.9325 -0.1939 -0.05 1.8854 -0.1154 -0.05 1.9639 +5 24 -0.06 -0.0749 1.83 -0.1154 -0.05 1.9639 -0.1625 -0.05 1.9325 -0.06 -0.05 1.9749 +5 24 -0.06 -0.0749 1.83 -0.06 -0.05 1.9749 -0.1154 -0.05 1.9639 1.324 -0.05 1.6555 +5 24 -2.2013 -0.0749 1.6744 -2.0516 -0.0749 1.8986 -2.1521 -0.05 1.9994 -2.066 -0.05 1.6182 +5 24 -2.0516 -0.0749 1.8986 -2.1521 -0.05 1.9994 -2.2013 -0.0749 1.6744 -1.8817 -0.05 2.18 +5 24 -1.563 -0.0749 2.1009 -1.4175 -0.05 2.1 -1.4285 -0.05 2.1554 -1.4285 -0.05 2.0446 +5 24 -1.4285 -0.05 2.1554 -1.563 -0.0749 2.1009 -1.4175 -0.05 2.1 -1.46 -0.05 2.2025 +5 24 -2.0516 -0.0749 1.8986 -1.8274 -0.0749 2.0483 -1.8817 -0.05 2.18 -1.9479 -0.05 1.7949 +5 24 -1.8274 -0.0749 2.0483 -1.8817 -0.05 2.18 -2.0516 -0.0749 1.8986 -1.5627 -0.05 2.2435 +5 24 -1.46 -0.05 2.2025 -1.563 -0.0749 2.1009 -1.4285 -0.05 2.1554 -1.507 -0.05 2.2339 +5 24 -1.507 -0.05 2.2339 -1.563 -0.0749 2.1009 -1.46 -0.05 2.2025 -1.5627 -0.05 2.2435 +5 24 -1.5627 -0.05 2.2435 -1.563 -0.0749 2.1009 -1.507 -0.05 2.2339 -1.8274 -0.0749 2.0483 +5 24 -1.8274 -0.0749 2.0483 -1.563 -0.0749 2.1009 -1.5627 -0.05 2.2435 -1.7712 -0.05 1.913 +5 24 1.3213 -0.0749 2.5191 1.321 -0.05 2.3765 1.6399 -0.05 2.44 -1.5627 -0.05 2.9735 +5 24 1.6399 -0.05 2.44 1.5857 -0.0749 2.5717 1.3213 -0.0749 2.5191 1.9103 -0.05 2.6207 +5 24 1.5857 -0.0749 2.5717 1.3213 -0.0749 2.5191 1.6399 -0.05 2.44 1.321 -0.05 2.6649 +5 24 1.9103 -0.05 2.6207 1.8098 -0.0749 2.7215 1.5857 -0.0749 2.5717 2.091 -0.05 2.891 +5 24 1.8098 -0.0749 2.7215 1.5857 -0.0749 2.5717 1.9103 -0.05 2.6207 1.5294 -0.05 2.7064 +5 24 2.091 -0.05 2.891 1.9596 -0.0749 2.9456 1.8098 -0.0749 2.7215 2.0122 -0.0749 3.21 +5 24 1.9596 -0.0749 2.9456 1.8098 -0.0749 2.7215 2.091 -0.05 2.891 1.8243 -0.05 3.0012 +5 24 1.3213 -0.0749 2.5191 -1.563 -0.0749 3.1161 -1.5627 -0.05 2.9735 1.321 -0.05 2.6649 +5 24 -1.563 -0.0749 3.1161 -1.8274 -0.0749 3.1717 -1.8817 -0.05 3.04 -1.5627 -0.05 3.2619 +5 24 -1.8274 -0.0749 3.1717 -1.8817 -0.05 3.04 -1.563 -0.0749 3.1161 -2.1521 -0.05 3.2207 +5 24 2.0122 -0.0749 3.21 1.9596 -0.0749 2.9456 2.091 -0.05 2.891 1.8658 -0.05 3.2097 +5 24 2.1544 -0.05 3.21 2.0122 -0.0749 3.21 2.091 -0.05 2.891 1.9596 -0.0749 3.4744 +5 24 -1.8274 -0.0749 3.1717 -2.0516 -0.0749 3.3215 -2.1521 -0.05 3.2207 -1.7712 -0.05 3.3064 +5 24 -2.0516 -0.0749 3.3215 -2.1521 -0.05 3.2207 -1.8274 -0.0749 3.1717 -2.3327 -0.05 3.491 +5 24 1.9596 -0.0749 3.4744 2.0122 -0.0749 3.21 2.1544 -0.05 3.21 1.8243 -0.05 3.4182 +5 24 2.091 -0.05 3.529 1.9596 -0.0749 3.4744 2.1544 -0.05 3.21 1.9103 -0.05 3.7994 +5 24 -2.0516 -0.0749 3.3215 -2.2013 -0.0749 3.5456 -2.3327 -0.05 3.491 -2.066 -0.05 3.6012 +5 24 -2.2013 -0.0749 3.5456 -2.3327 -0.05 3.491 -2.0516 -0.0749 3.3215 -2.2539 -0.0749 3.81 +5 24 1.8098 -0.0749 3.6986 1.9596 -0.0749 3.4744 1.9103 -0.05 3.7994 1.8243 -0.05 3.4182 +5 24 1.9103 -0.05 3.7994 1.8098 -0.0749 3.6986 1.9596 -0.0749 3.4744 1.6399 -0.05 3.98 +5 24 -2.2539 -0.0749 3.81 -2.3962 -0.05 3.81 -2.3327 -0.05 3.491 -2.2013 -0.0749 4.0744 +5 24 -2.2013 -0.0749 3.5456 -2.2539 -0.0749 3.81 -2.3327 -0.05 3.491 -2.1075 -0.05 3.8097 +5 24 1.5857 -0.0749 3.8483 1.8098 -0.0749 3.6986 1.6399 -0.05 3.98 1.7062 -0.05 3.5949 +5 24 1.6399 -0.05 3.98 1.5857 -0.0749 3.8483 1.8098 -0.0749 3.6986 1.321 -0.05 4.0465 +5 24 1.3213 -0.0749 3.9039 1.5857 -0.0749 3.8483 1.321 -0.05 4.0465 1.5294 -0.05 3.713 +5 24 -2.2539 -0.0749 3.81 -2.2013 -0.0749 4.0744 -2.3962 -0.05 3.81 -2.066 -0.05 4.0182 +5 24 -2.2013 -0.0749 4.0744 -2.3327 -0.05 4.129 -2.3962 -0.05 3.81 -2.1521 -0.05 4.3994 +5 24 -2.2013 -0.0749 4.0744 -2.0516 -0.0749 4.2986 -2.1521 -0.05 4.3994 -2.066 -0.05 4.0182 +5 24 -2.0516 -0.0749 4.2986 -2.1521 -0.05 4.3994 -2.2013 -0.0749 4.0744 -1.8817 -0.05 4.58 +5 24 -1.563 -0.0749 4.5009 1.3213 -0.0749 3.9039 1.321 -0.05 4.0465 -1.5627 -0.05 4.3545 +5 24 -2.0516 -0.0749 4.2986 -1.8274 -0.0749 4.4483 -1.8817 -0.05 4.58 -1.9479 -0.05 4.1949 +5 24 -1.8274 -0.0749 4.4483 -1.8817 -0.05 4.58 -2.0516 -0.0749 4.2986 -1.5627 -0.05 4.6435 +5 24 -1.5627 -0.05 4.6435 -1.563 -0.0749 4.5009 1.321 -0.05 4.0465 -1.8274 -0.0749 4.4483 +5 24 -1.8274 -0.0749 4.4483 -1.563 -0.0749 4.5009 -1.5627 -0.05 4.6435 -1.7712 -0.05 4.313 +5 24 2.01 -0.0749 -4.41 1.8651 -0.05 -4.2304 -2.25 -0.0749 -3.39 2.01 -0.0749 -3.21 +5 24 -2.25 -0.0749 -3.39 -2.3708 -0.05 -3.31 -2.3922 -0.05 -3.3623 -2.331 -0.05 -3.2699 +5 24 -2.25 -0.0749 -3.39 -2.331 -0.05 -3.2699 -2.3708 -0.05 -3.31 -2.2789 -0.05 -3.248 +5 24 -2.25 -0.0749 -3.39 -2.2789 -0.05 -3.248 -2.331 -0.05 -3.2699 -2.2224 -0.05 -3.2478 +5 24 -2.25 -0.0749 -3.39 -2.2224 -0.05 -3.2478 -2.2789 -0.05 -3.248 1.8651 -0.05 -4.2304 +5 24 2.01 -0.0749 -3.21 1.8651 -0.05 -3.21 1.8651 -0.05 -4.2304 1.8761 -0.05 -3.1546 +5 24 2.01 -0.0749 -3.21 1.8761 -0.05 -3.1546 1.8651 -0.05 -3.21 1.9076 -0.05 -3.1076 +5 24 2.01 -0.0749 -3.21 1.9076 -0.05 -3.1076 1.8761 -0.05 -3.1546 1.9546 -0.05 -3.0761 +5 24 2.01 -0.0749 -3.21 1.9546 -0.05 -3.0761 1.9076 -0.05 -3.1076 2.01 -0.05 -3.0651 +5 24 2.01 -0.0749 -2.25 1.8651 -0.05 -2.0704 0.0849 -0.05 -1.646 2.01 -0.0749 -1.05 +5 24 -0.06 -0.0749 -1.755 -0.2049 -0.05 -1.5748 -2.25 -0.0749 -1.23 -0.06 -0.0749 -0.8844 +5 24 -2.1051 -0.05 -1.121 -2.25 -0.0749 -1.23 -0.2049 -0.05 -1.5748 -2.1051 -0.05 -0.03 +5 24 2.01 -0.0749 -1.05 1.8651 -0.05 -1.05 1.8651 -0.05 -2.0704 1.8761 -0.05 -0.9946 +5 24 2.01 -0.0749 -1.05 1.8761 -0.05 -0.9946 1.8651 -0.05 -1.05 1.9076 -0.05 -0.9476 +5 24 2.01 -0.0749 -1.05 1.9076 -0.05 -0.9476 1.8761 -0.05 -0.9946 1.9546 -0.05 -0.9161 +5 24 2.01 -0.0749 -1.05 1.9546 -0.05 -0.9161 1.9076 -0.05 -0.9476 2.01 -0.05 -0.9051 +5 24 -0.06 -0.0749 -0.8844 -0.2049 -0.05 -0.8844 -0.2049 -0.05 -1.5748 -0.1939 -0.05 -0.829 +5 24 -0.06 -0.0749 -0.8844 -0.1939 -0.05 -0.829 -0.2049 -0.05 -0.8844 -0.1625 -0.05 -0.782 +5 24 -0.06 -0.0749 -0.8844 -0.1625 -0.05 -0.782 -0.1939 -0.05 -0.829 -0.1154 -0.05 -0.7505 +5 24 -0.06 -0.0749 -0.8844 -0.1154 -0.05 -0.7505 -0.1625 -0.05 -0.782 -0.06 -0.05 -0.7395 +5 24 -2.1051 -0.05 -0.03 -2.25 -0.0749 -0.03 -2.25 -0.0749 -1.23 -2.1161 -0.05 0.0254 +5 24 -2.1161 -0.05 0.0254 -2.25 -0.0749 -0.03 -2.1051 -0.05 -0.03 -2.1476 -0.05 0.0725 +5 24 -2.1476 -0.05 0.0725 -2.25 -0.0749 -0.03 -2.1161 -0.05 0.0254 -2.1946 -0.05 0.1039 +5 24 -2.1946 -0.05 0.1039 -2.25 -0.0749 -0.03 -2.1476 -0.05 0.0725 -2.25 -0.05 0.1149 +5 24 1.324 -0.05 0.2649 1.3243 -0.0749 0.1191 1.5887 -0.0749 0.1717 -1.563 -0.0749 0.7161 +5 24 1.5887 -0.0749 0.1717 1.5324 -0.05 0.3064 1.324 -0.05 0.2649 1.8128 -0.0749 0.3215 +5 24 1.8128 -0.0749 0.3215 1.7092 -0.05 0.4245 1.5324 -0.05 0.3064 1.8273 -0.05 0.6012 +5 24 1.9626 -0.0749 0.5456 1.8273 -0.05 0.6012 1.8128 -0.0749 0.3215 1.8688 -0.05 0.8097 +5 24 2.0152 -0.0749 0.81 1.8688 -0.05 0.8097 1.9626 -0.0749 0.5456 1.8273 -0.05 1.0182 +5 24 -1.7712 -0.05 0.9064 -1.8274 -0.0749 0.7717 -1.5627 -0.05 0.8619 -2.0516 -0.0749 0.9215 +5 24 -1.9479 -0.05 1.0245 -2.0516 -0.0749 0.9215 -1.7712 -0.05 0.9064 -2.066 -0.05 1.2012 +5 24 1.9626 -0.0749 1.0744 1.8273 -0.05 1.0182 2.0152 -0.0749 0.81 1.8128 -0.0749 1.2986 +5 24 -2.066 -0.05 1.2012 -2.2013 -0.0749 1.1456 -2.0516 -0.0749 0.9215 -2.1075 -0.05 1.4097 +5 24 1.8128 -0.0749 1.2986 1.7092 -0.05 1.1949 1.8273 -0.05 1.0182 1.5887 -0.0749 1.4483 +5 24 -0.06 -0.0749 1.41 -0.0046 -0.05 1.2761 0.0425 -0.05 1.3076 -0.06 -0.05 1.2651 +5 24 0.0425 -0.05 1.3076 -0.06 -0.0749 1.41 -0.0046 -0.05 1.2761 0.0739 -0.05 1.3546 +5 24 0.0739 -0.05 1.3546 -0.06 -0.0749 1.41 0.0425 -0.05 1.3076 0.0849 -0.05 1.41 +5 24 0.0849 -0.05 1.41 -0.06 -0.0749 1.41 0.0739 -0.05 1.3546 0.0849 -0.05 1.6505 +5 24 -2.1075 -0.05 1.4097 -2.2539 -0.0749 1.41 -2.2013 -0.0749 1.1456 -2.066 -0.05 1.6182 +5 24 1.5887 -0.0749 1.4483 1.5324 -0.05 1.313 1.7092 -0.05 1.1949 1.3243 -0.0749 1.5129 +5 24 1.3243 -0.0749 1.5129 1.324 -0.05 1.3665 1.5324 -0.05 1.313 0.0849 -0.05 1.6505 +5 24 -2.066 -0.05 1.6182 -2.2013 -0.0749 1.6744 -2.2539 -0.0749 1.41 -2.0516 -0.0749 1.8986 +5 24 0.0849 -0.05 1.6505 -0.06 -0.0749 1.83 -0.06 -0.0749 1.41 1.3243 -0.0749 1.5129 +5 24 -1.9479 -0.05 1.7949 -2.0516 -0.0749 1.8986 -2.066 -0.05 1.6182 -1.8274 -0.0749 2.0483 +5 24 -1.7712 -0.05 1.913 -1.8274 -0.0749 2.0483 -1.9479 -0.05 1.7949 -1.563 -0.0749 2.1009 +5 24 -1.563 -0.0749 2.1009 -1.46 -0.05 1.9976 -1.4285 -0.05 2.0446 -1.507 -0.05 1.9661 +5 24 -1.4285 -0.05 2.0446 -1.563 -0.0749 2.1009 -1.46 -0.05 1.9976 -1.4175 -0.05 2.1 +5 24 -1.563 -0.0749 2.1009 -1.507 -0.05 1.9661 -1.46 -0.05 1.9976 -1.5627 -0.05 1.9545 +5 24 1.321 -0.05 2.6649 1.3213 -0.0749 2.5191 1.5857 -0.0749 2.5717 -1.563 -0.0749 3.1161 +5 24 1.5857 -0.0749 2.5717 1.5294 -0.05 2.7064 1.321 -0.05 2.6649 1.8098 -0.0749 2.7215 +5 24 1.8098 -0.0749 2.7215 1.7062 -0.05 2.8245 1.5294 -0.05 2.7064 1.8243 -0.05 3.0012 +5 24 1.9596 -0.0749 2.9456 1.8243 -0.05 3.0012 1.8098 -0.0749 2.7215 1.8658 -0.05 3.2097 +5 24 2.0122 -0.0749 3.21 1.8658 -0.05 3.2097 1.9596 -0.0749 2.9456 1.8243 -0.05 3.4182 +5 24 -1.7712 -0.05 3.3064 -1.8274 -0.0749 3.1717 -1.5627 -0.05 3.2619 -2.0516 -0.0749 3.3215 +5 24 -1.9479 -0.05 3.4245 -2.0516 -0.0749 3.3215 -1.7712 -0.05 3.3064 -2.066 -0.05 3.6012 +5 24 1.9596 -0.0749 3.4744 1.8243 -0.05 3.4182 2.0122 -0.0749 3.21 1.8098 -0.0749 3.6986 +5 24 -2.066 -0.05 3.6012 -2.2013 -0.0749 3.5456 -2.0516 -0.0749 3.3215 -2.1075 -0.05 3.8097 +5 24 1.8098 -0.0749 3.6986 1.7062 -0.05 3.5949 1.8243 -0.05 3.4182 1.5857 -0.0749 3.8483 +5 24 -2.1075 -0.05 3.8097 -2.2539 -0.0749 3.81 -2.2013 -0.0749 3.5456 -2.066 -0.05 4.0182 +5 24 1.5857 -0.0749 3.8483 1.5294 -0.05 3.713 1.7062 -0.05 3.5949 1.3213 -0.0749 3.9039 +5 24 -2.066 -0.05 4.0182 -2.2013 -0.0749 4.0744 -2.2539 -0.0749 3.81 -2.0516 -0.0749 4.2986 +5 24 -1.9479 -0.05 4.1949 -2.0516 -0.0749 4.2986 -2.066 -0.05 4.0182 -1.8274 -0.0749 4.4483 +5 24 -1.7712 -0.05 4.313 -1.8274 -0.0749 4.4483 -1.9479 -0.05 4.1949 -1.563 -0.0749 4.5009 +5 24 -1.563 -0.0749 4.5009 -1.5627 -0.05 4.3545 1.3213 -0.0749 3.9039 -1.7712 -0.05 4.313 diff --git a/ImportLDraw/studs/logotente.dat b/ImportLDraw/studs/logotente.dat new file mode 100644 index 0000000000000000000000000000000000000000..ae3f93eff3e17a32fd43704aac4de15fe021d687 --- /dev/null +++ b/ImportLDraw/studs/logotente.dat @@ -0,0 +1,2363 @@ +0 Logo Tente |D:D +0 Name: logoTente.dat +0 Author: jasolo +0 !LDRAW_ORG Unofficial_Part +0 BFC CERTIFY CCW +4 16 5.645 -5.346 -2.813 5.764 -5.265 -2.838 5.766 -5.265 -2.735 5.646 -5.346 -2.757 +3 16 5.505 -5.375 -2.783 5.645 -5.346 -2.813 5.646 -5.346 -2.757 +4 16 5.764 -5.265 -2.838 5.645 -5.346 -2.813 5.623 -5.346 -2.865 5.723 -5.265 -2.934 +4 16 5.764 -5.265 -2.838 5.844 -5.144 -2.855 5.846 -5.144 -2.72 5.766 -5.265 -2.735 +4 16 5.646 -5.346 -2.757 5.766 -5.265 -2.735 5.727 -5.265 -2.639 5.625 -5.346 -2.705 +3 16 5.505 -5.375 -2.783 5.646 -5.346 -2.757 5.625 -5.346 -2.705 +3 16 5.623 -5.346 -2.865 5.645 -5.346 -2.813 5.505 -5.375 -2.783 +4 16 5.723 -5.265 -2.934 5.623 -5.346 -2.865 4.588 -5.346 -4.37 4.688 -5.265 -4.439 +4 16 5.723 -5.265 -2.934 5.79 -5.144 -2.98 5.844 -5.144 -2.855 5.764 -5.265 -2.838 +4 16 5.844 -5.144 -2.855 5.872 -5 -2.861 5.874 -5 -2.715 5.846 -5.144 -2.72 +4 16 5.766 -5.265 -2.735 5.846 -5.144 -2.72 5.795 -5.144 -2.595 5.727 -5.265 -2.639 +4 16 5.625 -5.346 -2.705 5.727 -5.265 -2.639 5.655 -5.265 -2.565 5.586 -5.346 -2.665 +3 16 5.505 -5.375 -2.783 5.625 -5.346 -2.705 5.586 -5.346 -2.665 +4 16 5.623 -5.346 -2.865 5.505 -5.375 -2.783 4.47 -5.375 -4.289 4.588 -5.346 -4.37 +4 16 5.79 -5.144 -2.98 5.723 -5.265 -2.934 4.688 -5.265 -4.439 4.755 -5.144 -4.485 +4 16 4.588 -5.346 -4.37 4.498 -5.32 -4.482 4.59 -5.245 -4.546 4.688 -5.265 -4.439 +4 16 5.79 -5.144 -2.98 5.814 -5 -2.996 5.872 -5 -2.861 5.844 -5.144 -2.855 +4 16 5.846 -5.144 -2.72 5.874 -5 -2.715 5.819 -5 -2.579 5.795 -5.144 -2.595 +4 16 5.727 -5.265 -2.639 5.795 -5.144 -2.595 5.701 -5.144 -2.498 5.655 -5.265 -2.565 +4 16 4.47 -5.375 -4.289 4.389 -5.346 -4.407 4.498 -5.32 -4.482 4.588 -5.346 -4.37 +4 16 5.814 -5 -2.996 5.79 -5.144 -2.98 4.755 -5.144 -4.485 4.779 -5 -4.501 +4 16 4.688 -5.265 -4.439 4.59 -5.245 -4.546 4.652 -5.133 -4.588 4.755 -5.144 -4.485 +4 16 4.498 -5.32 -4.482 4.403 -5.245 -4.565 4.474 -5.187 -4.613 4.59 -5.245 -4.546 +4 16 5.795 -5.144 -2.595 5.819 -5 -2.579 5.717 -5 -2.474 5.701 -5.144 -2.498 +4 16 4.352 -5.346 -4.207 4.279 -5.32 -4.332 4.389 -5.346 -4.407 4.47 -5.375 -4.289 +4 16 4.389 -5.346 -4.407 4.32 -5.265 -4.507 4.403 -5.245 -4.565 4.498 -5.32 -4.482 +4 16 4.755 -5.144 -4.485 4.652 -5.133 -4.588 4.674 -5 -4.603 4.779 -5 -4.501 +4 16 4.59 -5.245 -4.546 4.474 -5.187 -4.613 4.521 -5.101 -4.646 4.652 -5.133 -4.588 +4 16 4.403 -5.245 -4.565 4.319 -5.133 -4.605 4.357 -5.101 -4.632 4.474 -5.187 -4.613 +4 16 4.251 -5.265 -4.138 4.187 -5.245 -4.268 4.279 -5.32 -4.332 4.352 -5.346 -4.207 +4 16 4.279 -5.32 -4.332 4.236 -5.245 -4.45 4.32 -5.265 -4.507 4.389 -5.346 -4.407 +4 16 4.32 -5.265 -4.507 4.274 -5.144 -4.574 4.319 -5.133 -4.605 4.403 -5.245 -4.565 +4 16 4.652 -5.133 -4.588 4.521 -5.101 -4.646 4.538 -5 -4.657 4.674 -5 -4.603 +4 16 4.474 -5.187 -4.613 4.357 -5.101 -4.632 4.383 -5.055 -4.649 4.521 -5.101 -4.646 +3 16 4.319 -5.133 -4.605 4.257 -5 -4.598 4.357 -5.101 -4.632 +4 16 4.184 -5.144 -4.092 4.125 -5.133 -4.226 4.187 -5.245 -4.268 4.251 -5.265 -4.138 +4 16 4.187 -5.245 -4.268 4.165 -5.187 -4.401 4.236 -5.245 -4.45 4.279 -5.32 -4.332 +4 16 4.236 -5.245 -4.45 4.228 -5.133 -4.543 4.274 -5.144 -4.574 4.32 -5.265 -4.507 +3 16 4.274 -5.144 -4.574 4.257 -5 -4.598 4.319 -5.133 -4.605 +4 16 4.521 -5.101 -4.646 4.383 -5.055 -4.649 4.392 -5 -4.655 4.538 -5 -4.657 +3 16 4.357 -5.101 -4.632 4.257 -5 -4.598 4.383 -5.055 -4.649 +4 16 4.161 -5 -4.076 4.103 -5 -4.211 4.125 -5.133 -4.226 4.184 -5.144 -4.092 +4 16 4.125 -5.133 -4.226 4.118 -5.101 -4.368 4.165 -5.187 -4.401 4.187 -5.245 -4.268 +4 16 4.165 -5.187 -4.401 4.19 -5.101 -4.517 4.228 -5.133 -4.543 4.236 -5.245 -4.45 +3 16 4.228 -5.133 -4.543 4.257 -5 -4.598 4.274 -5.144 -4.574 +3 16 4.383 -5.055 -4.649 4.257 -5 -4.598 4.392 -5 -4.655 +4 16 4.103 -5 -4.211 4.101 -5 -4.357 4.118 -5.101 -4.368 4.125 -5.133 -4.226 +4 16 4.118 -5.101 -4.368 4.164 -5.055 -4.499 4.19 -5.101 -4.517 4.165 -5.187 -4.401 +3 16 4.19 -5.101 -4.517 4.257 -5 -4.598 4.228 -5.133 -4.543 +4 16 4.101 -5 -4.357 4.155 -5 -4.493 4.164 -5.055 -4.499 4.118 -5.101 -4.368 +3 16 4.164 -5.055 -4.499 4.257 -5 -4.598 4.19 -5.101 -4.517 +3 16 4.155 -5 -4.493 4.257 -5 -4.598 4.164 -5.055 -4.499 +4 16 3.938 -5.346 -1.532 4.007 -5.265 -1.432 3.912 -5.265 -1.391 3.887 -5.346 -1.51 +4 16 4.007 -5.265 -1.432 4.053 -5.144 -1.365 3.929 -5.144 -1.311 3.912 -5.265 -1.391 +3 16 3.857 -5.375 -1.65 3.938 -5.346 -1.532 3.887 -5.346 -1.51 +4 16 3.887 -5.346 -1.51 3.912 -5.265 -1.391 3.809 -5.265 -1.389 3.831 -5.346 -1.509 +4 16 3.912 -5.265 -1.391 3.929 -5.144 -1.311 3.794 -5.144 -1.309 3.809 -5.265 -1.389 +3 16 3.857 -5.375 -1.65 3.887 -5.346 -1.51 3.831 -5.346 -1.509 +4 16 3.831 -5.346 -1.509 3.809 -5.265 -1.389 3.712 -5.265 -1.428 3.779 -5.346 -1.53 +4 16 5.717 -5 -2.474 4.069 -5 -1.341 4.053 -5.144 -1.365 5.701 -5.144 -2.498 +4 16 3.929 -5.144 -1.311 3.935 -5 -1.283 3.789 -5 -1.281 3.794 -5.144 -1.309 +4 16 3.809 -5.265 -1.389 3.794 -5.144 -1.309 3.668 -5.144 -1.36 3.712 -5.265 -1.428 +3 16 3.857 -5.375 -1.65 3.831 -5.346 -1.509 3.779 -5.346 -1.53 +4 16 3.779 -5.346 -1.53 3.712 -5.265 -1.428 3.638 -5.265 -1.5 3.739 -5.346 -1.569 +4 16 3.794 -5.144 -1.309 3.789 -5 -1.281 3.653 -5 -1.336 3.668 -5.144 -1.36 +4 16 3.712 -5.265 -1.428 3.668 -5.144 -1.36 3.571 -5.144 -1.454 3.638 -5.265 -1.5 +3 16 3.857 -5.375 -1.65 3.779 -5.346 -1.53 3.739 -5.346 -1.569 +4 16 3.739 -5.346 -1.569 3.638 -5.265 -1.5 2.603 -5.265 -3.005 2.704 -5.346 -3.074 +4 16 3.668 -5.144 -1.36 3.653 -5 -1.336 3.548 -5 -1.438 3.571 -5.144 -1.454 +4 16 3.638 -5.265 -1.5 3.571 -5.144 -1.454 2.536 -5.144 -2.959 2.603 -5.265 -3.005 +4 16 2.603 -5.265 -3.005 2.539 -5.245 -3.135 2.631 -5.32 -3.199 2.704 -5.346 -3.074 +4 16 3.571 -5.144 -1.454 3.548 -5 -1.438 2.513 -5 -2.943 2.536 -5.144 -2.959 +4 16 2.536 -5.144 -2.959 2.477 -5.133 -3.092 2.539 -5.245 -3.135 2.603 -5.265 -3.005 +4 16 2.704 -5.346 -3.074 2.631 -5.32 -3.199 2.74 -5.346 -3.274 2.822 -5.375 -3.155 +4 16 2.539 -5.245 -3.135 2.517 -5.187 -3.268 2.588 -5.245 -3.316 2.631 -5.32 -3.199 +4 16 2.513 -5 -2.943 2.455 -5 -3.077 2.477 -5.133 -3.092 2.536 -5.144 -2.959 +4 16 2.477 -5.133 -3.092 2.47 -5.101 -3.235 2.517 -5.187 -3.268 2.539 -5.245 -3.135 +4 16 2.631 -5.32 -3.199 2.588 -5.245 -3.316 2.672 -5.265 -3.374 2.74 -5.346 -3.274 +4 16 2.822 -5.375 -3.155 2.74 -5.346 -3.274 2.85 -5.32 -3.349 2.94 -5.346 -3.237 +3 16 2.542 -5.101 -3.383 2.58 -5.133 -3.41 2.588 -5.245 -3.316 +3 16 2.588 -5.245 -3.316 2.517 -5.187 -3.268 2.542 -5.101 -3.383 +5 24 2.588 -5.245 -3.316 2.542 -5.101 -3.383 2.517 -5.187 -3.268 2.58 -5.133 -3.41 +4 16 2.455 -5 -3.077 2.453 -5 -3.224 2.47 -5.101 -3.235 2.477 -5.133 -3.092 +3 16 2.516 -5.055 -3.366 2.542 -5.101 -3.383 2.517 -5.187 -3.268 +3 16 2.517 -5.187 -3.268 2.47 -5.101 -3.235 2.516 -5.055 -3.366 +5 24 2.517 -5.187 -3.268 2.516 -5.055 -3.366 2.47 -5.101 -3.235 2.542 -5.101 -3.383 +4 16 2.588 -5.245 -3.316 2.58 -5.133 -3.41 2.626 -5.144 -3.441 2.672 -5.265 -3.374 +4 16 2.74 -5.346 -3.274 2.672 -5.265 -3.374 2.755 -5.245 -3.431 2.85 -5.32 -3.349 +4 16 2.94 -5.346 -3.237 2.85 -5.32 -3.349 2.942 -5.245 -3.413 3.04 -5.265 -3.306 +3 16 2.542 -5.101 -3.383 2.609 -5 -3.464 2.58 -5.133 -3.41 +4 16 2.453 -5 -3.224 2.507 -5 -3.36 2.516 -5.055 -3.366 2.47 -5.101 -3.235 +3 16 2.516 -5.055 -3.366 2.609 -5 -3.464 2.542 -5.101 -3.383 +3 16 2.58 -5.133 -3.41 2.609 -5 -3.464 2.626 -5.144 -3.441 +4 16 2.672 -5.265 -3.374 2.626 -5.144 -3.441 2.671 -5.133 -3.472 2.755 -5.245 -3.431 +4 16 2.85 -5.32 -3.349 2.755 -5.245 -3.431 2.826 -5.187 -3.48 2.942 -5.245 -3.413 +4 16 3.04 -5.265 -3.306 2.942 -5.245 -3.413 3.004 -5.133 -3.455 3.107 -5.144 -3.352 +3 16 2.507 -5 -3.36 2.609 -5 -3.464 2.516 -5.055 -3.366 +3 16 2.626 -5.144 -3.441 2.609 -5 -3.464 2.671 -5.133 -3.472 +4 16 2.755 -5.245 -3.431 2.671 -5.133 -3.472 2.709 -5.101 -3.498 2.826 -5.187 -3.48 +4 16 2.942 -5.245 -3.413 2.826 -5.187 -3.48 2.873 -5.101 -3.513 3.004 -5.133 -3.455 +4 16 3.107 -5.144 -3.352 3.004 -5.133 -3.455 3.026 -5 -3.47 3.131 -5 -3.368 +3 16 2.671 -5.133 -3.472 2.609 -5 -3.464 2.709 -5.101 -3.498 +4 16 2.826 -5.187 -3.48 2.709 -5.101 -3.498 2.735 -5.055 -3.516 2.873 -5.101 -3.513 +4 16 3.004 -5.133 -3.455 2.873 -5.101 -3.513 2.89 -5 -3.524 3.026 -5 -3.47 +3 16 2.709 -5.101 -3.498 2.609 -5 -3.464 2.735 -5.055 -3.516 +4 16 2.873 -5.101 -3.513 2.735 -5.055 -3.516 2.744 -5 -3.522 2.89 -5 -3.524 +3 16 2.735 -5.055 -3.516 2.609 -5 -3.464 2.744 -5 -3.522 +4 16 4.048 -5.375 -3.137 3.967 -5.346 -3.255 4.076 -5.32 -3.331 4.166 -5.346 -3.219 +4 16 3.93 -5.346 -3.056 3.857 -5.32 -3.18 3.967 -5.346 -3.255 4.048 -5.375 -3.137 +4 16 3.967 -5.346 -3.255 3.898 -5.265 -3.356 3.981 -5.245 -3.413 4.076 -5.32 -3.331 +4 16 4.166 -5.346 -3.219 4.076 -5.32 -3.331 4.168 -5.245 -3.394 4.266 -5.265 -3.287 +4 16 3.829 -5.265 -2.987 3.765 -5.245 -3.117 3.857 -5.32 -3.18 3.93 -5.346 -3.056 +4 16 3.857 -5.32 -3.18 3.814 -5.245 -3.298 3.898 -5.265 -3.356 3.967 -5.346 -3.255 +4 16 3.898 -5.265 -3.356 3.852 -5.144 -3.423 3.897 -5.133 -3.454 3.981 -5.245 -3.413 +4 16 4.076 -5.32 -3.331 3.981 -5.245 -3.413 4.052 -5.187 -3.462 4.168 -5.245 -3.394 +4 16 4.266 -5.265 -3.287 4.168 -5.245 -3.394 4.23 -5.133 -3.437 4.333 -5.144 -3.334 +4 16 3.762 -5.144 -2.941 3.703 -5.133 -3.074 3.765 -5.245 -3.117 3.829 -5.265 -2.987 +4 16 3.765 -5.245 -3.117 3.743 -5.187 -3.25 3.814 -5.245 -3.298 3.857 -5.32 -3.18 +4 16 3.814 -5.245 -3.298 3.806 -5.133 -3.392 3.852 -5.144 -3.423 3.898 -5.265 -3.356 +3 16 3.852 -5.144 -3.423 3.835 -5 -3.446 3.897 -5.133 -3.454 +4 16 3.981 -5.245 -3.413 3.897 -5.133 -3.454 3.935 -5.101 -3.48 4.052 -5.187 -3.462 +4 16 4.168 -5.245 -3.394 4.052 -5.187 -3.462 4.1 -5.101 -3.495 4.23 -5.133 -3.437 +4 16 4.333 -5.144 -3.334 4.23 -5.133 -3.437 4.252 -5 -3.452 4.357 -5 -3.35 +4 16 4.199 -5.144 -2.306 3.762 -5.144 -2.941 3.829 -5.265 -2.987 4.312 -5.265 -2.285 +4 16 3.739 -5 -2.925 3.681 -5 -3.059 3.703 -5.133 -3.074 3.762 -5.144 -2.941 +4 16 3.703 -5.133 -3.074 3.696 -5.101 -3.217 3.743 -5.187 -3.25 3.765 -5.245 -3.117 +3 16 3.768 -5.101 -3.365 3.806 -5.133 -3.392 3.814 -5.245 -3.298 +3 16 3.814 -5.245 -3.298 3.743 -5.187 -3.25 3.768 -5.101 -3.365 +5 24 3.814 -5.245 -3.298 3.768 -5.101 -3.365 3.743 -5.187 -3.25 3.806 -5.133 -3.392 +3 16 3.806 -5.133 -3.392 3.835 -5 -3.446 3.852 -5.144 -3.423 +3 16 3.897 -5.133 -3.454 3.835 -5 -3.446 3.935 -5.101 -3.48 +4 16 4.052 -5.187 -3.462 3.935 -5.101 -3.48 3.961 -5.055 -3.498 4.1 -5.101 -3.495 +4 16 4.23 -5.133 -3.437 4.1 -5.101 -3.495 4.116 -5 -3.506 4.252 -5 -3.452 +4 16 4.159 -5 -2.314 3.739 -5 -2.925 3.762 -5.144 -2.941 4.199 -5.144 -2.306 +4 16 3.681 -5 -3.059 3.679 -5 -3.206 3.696 -5.101 -3.217 3.703 -5.133 -3.074 +3 16 3.742 -5.055 -3.348 3.768 -5.101 -3.365 3.743 -5.187 -3.25 +3 16 3.743 -5.187 -3.25 3.696 -5.101 -3.217 3.742 -5.055 -3.348 +5 24 3.743 -5.187 -3.25 3.742 -5.055 -3.348 3.696 -5.101 -3.217 3.768 -5.101 -3.365 +3 16 3.768 -5.101 -3.365 3.835 -5 -3.446 3.806 -5.133 -3.392 +3 16 3.935 -5.101 -3.48 3.835 -5 -3.446 3.961 -5.055 -3.498 +4 16 4.1 -5.101 -3.495 3.961 -5.055 -3.498 3.97 -5 -3.504 4.116 -5 -3.506 +4 16 3.679 -5 -3.206 3.733 -5 -3.341 3.742 -5.055 -3.348 3.696 -5.101 -3.217 +3 16 3.742 -5.055 -3.348 3.835 -5 -3.446 3.768 -5.101 -3.365 +3 16 3.961 -5.055 -3.498 3.835 -5 -3.446 3.97 -5 -3.504 +3 16 3.733 -5 -3.341 3.835 -5 -3.446 3.742 -5.055 -3.348 +4 16 4.47 -5.375 -4.289 5.505 -5.375 -2.783 5.305 -5.346 -2.821 4.352 -5.346 -4.207 +4 16 3.857 -5.375 -1.65 3.739 -5.346 -1.569 2.704 -5.346 -3.074 2.822 -5.375 -3.155 +4 16 5.136 -5.265 -2.852 4.251 -5.265 -4.138 4.352 -5.346 -4.207 5.305 -5.346 -2.821 +4 16 5.023 -5.144 -2.873 4.184 -5.144 -4.092 4.251 -5.265 -4.138 5.136 -5.265 -2.852 +4 16 4.983 -5 -2.88 4.161 -5 -4.076 4.184 -5.144 -4.092 5.023 -5.144 -2.873 +4 16 5.655 -5.265 -2.565 4.007 -5.265 -1.432 3.938 -5.346 -1.532 5.586 -5.346 -2.665 +4 16 5.701 -5.144 -2.498 4.053 -5.144 -1.365 4.007 -5.265 -1.432 5.655 -5.265 -2.565 +4 16 3.857 -5.375 -1.65 2.822 -5.375 -3.155 2.94 -5.346 -3.237 3.893 -5.346 -1.85 +4 16 4.681 -5.375 -2.217 3.857 -5.375 -1.65 3.893 -5.346 -1.85 4.481 -5.346 -2.254 +4 16 4.481 -5.346 -2.254 3.93 -5.346 -3.056 4.048 -5.375 -3.137 4.681 -5.375 -2.217 +4 16 3.893 -5.346 -1.85 2.94 -5.346 -3.237 3.04 -5.265 -3.306 3.925 -5.265 -2.019 +4 16 3.925 -5.265 -2.019 3.04 -5.265 -3.306 3.107 -5.144 -3.352 3.946 -5.144 -2.132 +4 16 3.946 -5.144 -2.132 3.107 -5.144 -3.352 3.131 -5 -3.368 3.953 -5 -2.172 +4 16 4.717 -5.346 -2.417 4.166 -5.346 -3.219 4.266 -5.265 -3.287 4.749 -5.265 -2.586 +4 16 4.312 -5.265 -2.285 3.829 -5.265 -2.987 3.93 -5.346 -3.056 4.481 -5.346 -2.254 +4 16 4.749 -5.265 -2.586 4.266 -5.265 -3.287 4.333 -5.144 -3.334 4.77 -5.144 -2.699 +4 16 4.77 -5.144 -2.699 4.333 -5.144 -3.334 4.357 -5 -3.35 4.777 -5 -2.739 +3 16 5.505 -5.375 -2.783 5.586 -5.346 -2.665 4.681 -5.375 -2.217 +4 16 4.681 -5.375 -2.217 4.048 -5.375 -3.137 4.166 -5.346 -3.219 4.717 -5.346 -2.417 +4 16 5.505 -5.375 -2.783 4.681 -5.375 -2.217 4.717 -5.346 -2.417 5.305 -5.346 -2.821 +4 16 4.481 -5.346 -2.254 3.893 -5.346 -1.85 3.925 -5.265 -2.019 4.312 -5.265 -2.285 +4 16 5.305 -5.346 -2.821 4.717 -5.346 -2.417 4.749 -5.265 -2.586 5.136 -5.265 -2.852 +4 16 4.312 -5.265 -2.285 3.925 -5.265 -2.019 3.946 -5.144 -2.132 4.199 -5.144 -2.306 +4 16 5.136 -5.265 -2.852 4.749 -5.265 -2.586 4.77 -5.144 -2.699 5.023 -5.144 -2.873 +4 16 4.199 -5.144 -2.306 3.946 -5.144 -2.132 3.953 -5 -2.172 4.159 -5 -2.314 +4 16 5.023 -5.144 -2.873 4.77 -5.144 -2.699 4.777 -5 -2.739 4.983 -5 -2.88 +3 16 4.681 -5.375 -2.217 5.586 -5.346 -2.665 3.938 -5.346 -1.532 +4 16 4.053 -5.144 -1.365 4.069 -5 -1.341 3.935 -5 -1.283 3.929 -5.144 -1.311 +3 16 3.857 -5.375 -1.65 4.681 -5.375 -2.217 3.938 -5.346 -1.532 +4 16 -5.952 -5.346 1.942 -6.073 -5.265 1.946 -6.056 -5.265 1.844 -5.943 -5.346 1.887 +3 16 -5.808 -5.375 1.938 -5.952 -5.346 1.942 -5.943 -5.346 1.887 +4 16 -5.939 -5.346 1.997 -6.05 -5.265 2.047 -6.073 -5.265 1.946 -5.952 -5.346 1.942 +4 16 -6.073 -5.265 1.946 -6.155 -5.144 1.948 -6.132 -5.144 1.815 -6.056 -5.265 1.844 +4 16 -5.943 -5.346 1.887 -6.056 -5.265 1.844 -6.002 -5.265 1.756 -5.913 -5.346 1.839 +3 16 -5.808 -5.375 1.938 -5.943 -5.346 1.887 -5.913 -5.346 1.839 +3 16 -5.808 -5.375 1.938 -5.939 -5.346 1.997 -5.952 -5.346 1.942 +4 16 -6.05 -5.265 2.047 -5.939 -5.346 1.997 -5.187 -5.346 3.662 -5.298 -5.265 3.712 +4 16 -6.05 -5.265 2.047 -6.124 -5.144 2.08 -6.155 -5.144 1.948 -6.073 -5.265 1.946 +4 16 -6.155 -5.144 1.948 -6.183 -5 1.949 -6.159 -5 1.805 -6.132 -5.144 1.815 +4 16 -6.056 -5.265 1.844 -6.132 -5.144 1.815 -6.061 -5.144 1.7 -6.002 -5.265 1.756 +4 16 -5.913 -5.346 1.839 -6.002 -5.265 1.756 -5.917 -5.265 1.696 -5.867 -5.346 1.807 +3 16 -5.808 -5.375 1.938 -5.913 -5.346 1.839 -5.867 -5.346 1.807 +4 16 -5.939 -5.346 1.997 -5.808 -5.375 1.938 -5.057 -5.375 3.603 -5.187 -5.346 3.662 +4 16 -6.124 -5.144 2.08 -6.05 -5.265 2.047 -5.298 -5.265 3.712 -5.372 -5.144 3.745 +4 16 -5.187 -5.346 3.662 -5.118 -5.32 3.788 -5.221 -5.245 3.834 -5.298 -5.265 3.712 +4 16 -6.183 -5 1.949 -6.155 -5.144 1.948 -6.124 -5.144 2.08 -6.15 -5 2.092 +4 16 -6.132 -5.144 1.815 -6.159 -5 1.805 -6.082 -5 1.681 -6.061 -5.144 1.7 +4 16 -6.002 -5.265 1.756 -6.061 -5.144 1.7 -5.951 -5.144 1.622 -5.917 -5.265 1.696 +4 16 -5.057 -5.375 3.603 -4.998 -5.346 3.733 -5.118 -5.32 3.788 -5.187 -5.346 3.662 +4 16 -6.15 -5 2.092 -6.124 -5.144 2.08 -5.372 -5.144 3.745 -5.398 -5 3.757 +4 16 -5.298 -5.265 3.712 -5.221 -5.245 3.834 -5.289 -5.133 3.865 -5.372 -5.144 3.745 +4 16 -5.118 -5.32 3.788 -5.04 -5.245 3.886 -5.118 -5.187 3.921 -5.221 -5.245 3.834 +4 16 -6.061 -5.144 1.7 -6.082 -5 1.681 -5.963 -5 1.596 -5.951 -5.144 1.622 +4 16 -4.926 -5.346 3.544 -4.877 -5.32 3.679 -4.998 -5.346 3.733 -5.057 -5.375 3.603 +4 16 -4.998 -5.346 3.733 -4.948 -5.265 3.844 -5.04 -5.245 3.886 -5.118 -5.32 3.788 +4 16 -5.372 -5.144 3.745 -5.289 -5.133 3.865 -5.313 -5 3.876 -5.398 -5 3.757 +4 16 -5.221 -5.245 3.834 -5.118 -5.187 3.921 -5.171 -5.101 3.945 -5.289 -5.133 3.865 +4 16 -5.04 -5.245 3.886 -4.964 -5.133 3.941 -5.007 -5.101 3.96 -5.118 -5.187 3.921 +4 16 -4.815 -5.265 3.493 -4.774 -5.245 3.633 -4.877 -5.32 3.679 -4.926 -5.346 3.544 +4 16 -4.877 -5.32 3.679 -4.855 -5.245 3.803 -4.948 -5.265 3.844 -4.998 -5.346 3.733 +4 16 -4.948 -5.265 3.844 -4.914 -5.144 3.918 -4.964 -5.133 3.941 -5.04 -5.245 3.886 +4 16 -5.289 -5.133 3.865 -5.171 -5.101 3.945 -5.189 -5 3.953 -5.313 -5 3.876 +4 16 -5.118 -5.187 3.921 -5.007 -5.101 3.96 -5.035 -5.055 3.973 -5.171 -5.101 3.945 +3 16 -4.964 -5.133 3.941 -4.902 -5 3.944 -5.007 -5.101 3.96 +4 16 -4.741 -5.144 3.46 -4.706 -5.133 3.602 -4.774 -5.245 3.633 -4.815 -5.265 3.493 +4 16 -4.774 -5.245 3.633 -4.777 -5.187 3.767 -4.855 -5.245 3.803 -4.877 -5.32 3.679 +4 16 -4.855 -5.245 3.803 -4.864 -5.133 3.896 -4.914 -5.144 3.918 -4.948 -5.265 3.844 +3 16 -4.914 -5.144 3.918 -4.902 -5 3.944 -4.964 -5.133 3.941 +4 16 -5.171 -5.101 3.945 -5.035 -5.055 3.973 -5.045 -5 3.977 -5.189 -5 3.953 +3 16 -5.007 -5.101 3.96 -4.902 -5 3.944 -5.035 -5.055 3.973 +4 16 -4.715 -5 3.448 -4.682 -5 3.591 -4.706 -5.133 3.602 -4.741 -5.144 3.46 +4 16 -4.706 -5.133 3.602 -4.724 -5.101 3.743 -4.777 -5.187 3.767 -4.774 -5.245 3.633 +4 16 -4.777 -5.187 3.767 -4.822 -5.101 3.877 -4.864 -5.133 3.896 -4.855 -5.245 3.803 +3 16 -4.864 -5.133 3.896 -4.902 -5 3.944 -4.914 -5.144 3.918 +3 16 -5.035 -5.055 3.973 -4.902 -5 3.944 -5.045 -5 3.977 +4 16 -4.682 -5 3.591 -4.706 -5 3.735 -4.724 -5.101 3.743 -4.706 -5.133 3.602 +4 16 -4.724 -5.101 3.743 -4.793 -5.055 3.864 -4.822 -5.101 3.877 -4.777 -5.187 3.767 +3 16 -4.822 -5.101 3.877 -4.902 -5 3.944 -4.864 -5.133 3.896 +4 16 -4.706 -5 3.735 -4.783 -5 3.859 -4.793 -5.055 3.864 -4.724 -5.101 3.743 +3 16 -4.793 -5.055 3.864 -4.902 -5 3.944 -4.822 -5.101 3.877 +3 16 -4.783 -5 3.859 -4.902 -5 3.944 -4.793 -5.055 3.864 +4 16 -4.045 -5.346 0.984 -4.095 -5.265 0.873 -3.994 -5.265 0.85 -3.99 -5.346 0.971 +4 16 -4.095 -5.265 0.873 -4.128 -5.144 0.799 -3.996 -5.144 0.768 -3.994 -5.265 0.85 +3 16 -3.985 -5.375 1.115 -4.045 -5.346 0.984 -3.99 -5.346 0.971 +4 16 -3.99 -5.346 0.971 -3.994 -5.265 0.85 -3.892 -5.265 0.867 -3.935 -5.346 0.98 +4 16 -3.994 -5.265 0.85 -3.996 -5.144 0.768 -3.863 -5.144 0.791 -3.892 -5.265 0.867 +3 16 -3.985 -5.375 1.115 -3.99 -5.346 0.971 -3.935 -5.346 0.98 +4 16 -3.935 -5.346 0.98 -3.892 -5.265 0.867 -3.804 -5.265 0.921 -3.887 -5.346 1.01 +4 16 -5.963 -5 1.596 -4.14 -5 0.773 -4.128 -5.144 0.799 -5.951 -5.144 1.622 +4 16 -3.996 -5.144 0.768 -3.997 -5 0.74 -3.853 -5 0.764 -3.863 -5.144 0.791 +4 16 -3.892 -5.265 0.867 -3.863 -5.144 0.791 -3.748 -5.144 0.862 -3.804 -5.265 0.921 +3 16 -3.985 -5.375 1.115 -3.935 -5.346 0.98 -3.887 -5.346 1.01 +4 16 -3.887 -5.346 1.01 -3.804 -5.265 0.921 -3.744 -5.265 1.006 -3.855 -5.346 1.056 +4 16 -3.863 -5.144 0.791 -3.853 -5 0.764 -3.729 -5 0.841 -3.748 -5.144 0.862 +4 16 -3.804 -5.265 0.921 -3.748 -5.144 0.862 -3.67 -5.144 0.972 -3.744 -5.265 1.006 +3 16 -3.985 -5.375 1.115 -3.887 -5.346 1.01 -3.855 -5.346 1.056 +4 16 -3.855 -5.346 1.056 -3.744 -5.265 1.006 -2.992 -5.265 2.671 -3.103 -5.346 2.721 +4 16 -3.748 -5.144 0.862 -3.729 -5 0.841 -3.644 -5 0.96 -3.67 -5.144 0.972 +4 16 -3.744 -5.265 1.006 -3.67 -5.144 0.972 -2.918 -5.144 2.637 -2.992 -5.265 2.671 +4 16 -2.992 -5.265 2.671 -2.951 -5.245 2.81 -3.054 -5.32 2.856 -3.103 -5.346 2.721 +4 16 -3.67 -5.144 0.972 -3.644 -5 0.96 -2.892 -5 2.625 -2.918 -5.144 2.637 +4 16 -2.918 -5.144 2.637 -2.883 -5.133 2.779 -2.951 -5.245 2.81 -2.992 -5.265 2.671 +4 16 -3.103 -5.346 2.721 -3.054 -5.32 2.856 -3.175 -5.346 2.91 -3.234 -5.375 2.78 +4 16 -2.951 -5.245 2.81 -2.954 -5.187 2.944 -3.032 -5.245 2.98 -3.054 -5.32 2.856 +4 16 -2.892 -5 2.625 -2.859 -5 2.768 -2.883 -5.133 2.779 -2.918 -5.144 2.637 +4 16 -2.883 -5.133 2.779 -2.901 -5.101 2.921 -2.954 -5.187 2.944 -2.951 -5.245 2.81 +4 16 -3.054 -5.32 2.856 -3.032 -5.245 2.98 -3.125 -5.265 3.021 -3.175 -5.346 2.91 +4 16 -3.234 -5.375 2.78 -3.175 -5.346 2.91 -3.296 -5.32 2.965 -3.365 -5.346 2.839 +4 16 -2.954 -5.187 2.944 -2.999 -5.101 3.054 -3.041 -5.133 3.073 -3.032 -5.245 2.98 +4 16 -2.859 -5 2.768 -2.883 -5 2.912 -2.901 -5.101 2.921 -2.883 -5.133 2.779 +4 16 -2.901 -5.101 2.921 -2.97 -5.055 3.041 -2.999 -5.101 3.054 -2.954 -5.187 2.944 +4 16 -3.032 -5.245 2.98 -3.041 -5.133 3.073 -3.091 -5.144 3.095 -3.125 -5.265 3.021 +4 16 -3.175 -5.346 2.91 -3.125 -5.265 3.021 -3.217 -5.245 3.063 -3.296 -5.32 2.965 +4 16 -3.365 -5.346 2.839 -3.296 -5.32 2.965 -3.398 -5.245 3.011 -3.475 -5.265 2.889 +3 16 -2.999 -5.101 3.054 -3.08 -5 3.121 -3.041 -5.133 3.073 +4 16 -2.883 -5 2.912 -2.96 -5 3.036 -2.97 -5.055 3.041 -2.901 -5.101 2.921 +3 16 -2.97 -5.055 3.041 -3.08 -5 3.121 -2.999 -5.101 3.054 +3 16 -3.041 -5.133 3.073 -3.08 -5 3.121 -3.091 -5.144 3.095 +4 16 -3.125 -5.265 3.021 -3.091 -5.144 3.095 -3.141 -5.133 3.118 -3.217 -5.245 3.063 +4 16 -3.296 -5.32 2.965 -3.217 -5.245 3.063 -3.296 -5.187 3.099 -3.398 -5.245 3.011 +4 16 -3.475 -5.265 2.889 -3.398 -5.245 3.011 -3.466 -5.133 3.042 -3.55 -5.144 2.922 +3 16 -2.96 -5 3.036 -3.08 -5 3.121 -2.97 -5.055 3.041 +3 16 -3.091 -5.144 3.095 -3.08 -5 3.121 -3.141 -5.133 3.118 +4 16 -3.217 -5.245 3.063 -3.141 -5.133 3.118 -3.184 -5.101 3.137 -3.296 -5.187 3.099 +4 16 -3.398 -5.245 3.011 -3.296 -5.187 3.099 -3.348 -5.101 3.122 -3.466 -5.133 3.042 +4 16 -3.55 -5.144 2.922 -3.466 -5.133 3.042 -3.491 -5 3.053 -3.576 -5 2.934 +3 16 -3.141 -5.133 3.118 -3.08 -5 3.121 -3.184 -5.101 3.137 +4 16 -3.296 -5.187 3.099 -3.184 -5.101 3.137 -3.212 -5.055 3.15 -3.348 -5.101 3.122 +4 16 -3.466 -5.133 3.042 -3.348 -5.101 3.122 -3.366 -5 3.13 -3.491 -5 3.053 +3 16 -3.184 -5.101 3.137 -3.08 -5 3.121 -3.212 -5.055 3.15 +4 16 -3.348 -5.101 3.122 -3.212 -5.055 3.15 -3.222 -5 3.155 -3.366 -5 3.13 +3 16 -3.212 -5.055 3.15 -3.08 -5 3.121 -3.222 -5 3.155 +4 16 -4.437 -5.375 2.544 -4.378 -5.346 2.675 -4.499 -5.32 2.73 -4.568 -5.346 2.603 +4 16 -4.306 -5.346 2.485 -4.257 -5.32 2.621 -4.378 -5.346 2.675 -4.437 -5.375 2.544 +4 16 -4.378 -5.346 2.675 -4.328 -5.265 2.786 -4.421 -5.245 2.828 -4.499 -5.32 2.73 +4 16 -4.568 -5.346 2.603 -4.499 -5.32 2.73 -4.601 -5.245 2.776 -4.679 -5.265 2.653 +4 16 -4.196 -5.265 2.435 -4.155 -5.245 2.574 -4.257 -5.32 2.621 -4.306 -5.346 2.485 +4 16 -4.257 -5.32 2.621 -4.236 -5.245 2.744 -4.328 -5.265 2.786 -4.378 -5.346 2.675 +4 16 -4.328 -5.265 2.786 -4.295 -5.144 2.86 -4.345 -5.133 2.883 -4.421 -5.245 2.828 +4 16 -4.499 -5.32 2.73 -4.421 -5.245 2.828 -4.499 -5.187 2.863 -4.601 -5.245 2.776 +4 16 -4.679 -5.265 2.653 -4.601 -5.245 2.776 -4.67 -5.133 2.807 -4.753 -5.144 2.687 +4 16 -4.121 -5.144 2.402 -4.086 -5.133 2.543 -4.155 -5.245 2.574 -4.196 -5.265 2.435 +4 16 -4.155 -5.245 2.574 -4.157 -5.187 2.709 -4.236 -5.245 2.744 -4.257 -5.32 2.621 +4 16 -4.236 -5.245 2.744 -4.245 -5.133 2.837 -4.295 -5.144 2.86 -4.328 -5.265 2.786 +3 16 -4.295 -5.144 2.86 -4.283 -5 2.886 -4.345 -5.133 2.883 +4 16 -4.421 -5.245 2.828 -4.345 -5.133 2.883 -4.387 -5.101 2.902 -4.499 -5.187 2.863 +4 16 -4.601 -5.245 2.776 -4.499 -5.187 2.863 -4.551 -5.101 2.887 -4.67 -5.133 2.807 +4 16 -4.753 -5.144 2.687 -4.67 -5.133 2.807 -4.694 -5 2.818 -4.779 -5 2.699 +4 16 -4.438 -5.144 1.7 -4.121 -5.144 2.402 -4.196 -5.265 2.435 -4.546 -5.265 1.659 +4 16 -4.095 -5 2.39 -4.062 -5 2.533 -4.086 -5.133 2.543 -4.121 -5.144 2.402 +4 16 -4.086 -5.133 2.543 -4.105 -5.101 2.685 -4.157 -5.187 2.709 -4.155 -5.245 2.574 +4 16 -4.157 -5.187 2.709 -4.202 -5.101 2.818 -4.245 -5.133 2.837 -4.236 -5.245 2.744 +3 16 -4.245 -5.133 2.837 -4.283 -5 2.886 -4.295 -5.144 2.86 +3 16 -4.345 -5.133 2.883 -4.283 -5 2.886 -4.387 -5.101 2.902 +4 16 -4.499 -5.187 2.863 -4.387 -5.101 2.902 -4.416 -5.055 2.915 -4.551 -5.101 2.887 +4 16 -4.67 -5.133 2.807 -4.551 -5.101 2.887 -4.57 -5 2.895 -4.694 -5 2.818 +4 16 -4.401 -5 1.714 -4.095 -5 2.39 -4.121 -5.144 2.402 -4.438 -5.144 1.7 +4 16 -4.062 -5 2.533 -4.086 -5 2.677 -4.105 -5.101 2.685 -4.086 -5.133 2.543 +4 16 -4.105 -5.101 2.685 -4.174 -5.055 2.806 -4.202 -5.101 2.818 -4.157 -5.187 2.709 +3 16 -4.202 -5.101 2.818 -4.283 -5 2.886 -4.245 -5.133 2.837 +3 16 -4.387 -5.101 2.902 -4.283 -5 2.886 -4.416 -5.055 2.915 +4 16 -4.551 -5.101 2.887 -4.416 -5.055 2.915 -4.425 -5 2.919 -4.57 -5 2.895 +4 16 -4.086 -5 2.677 -4.164 -5 2.801 -4.174 -5.055 2.806 -4.105 -5.101 2.685 +3 16 -4.174 -5.055 2.806 -4.283 -5 2.886 -4.202 -5.101 2.818 +3 16 -4.416 -5.055 2.915 -4.283 -5 2.886 -4.425 -5 2.919 +3 16 -4.164 -5 2.801 -4.283 -5 2.886 -4.174 -5.055 2.806 +4 16 -5.057 -5.375 3.603 -5.808 -5.375 1.938 -5.618 -5.346 2.01 -4.926 -5.346 3.544 +4 16 -3.985 -5.375 1.115 -3.855 -5.346 1.056 -3.103 -5.346 2.721 -3.234 -5.375 2.78 +4 16 -5.457 -5.265 2.071 -4.815 -5.265 3.493 -4.926 -5.346 3.544 -5.618 -5.346 2.01 +4 16 -5.35 -5.144 2.111 -4.741 -5.144 3.46 -4.815 -5.265 3.493 -5.457 -5.265 2.071 +4 16 -5.312 -5 2.126 -4.715 -5 3.448 -4.741 -5.144 3.46 -5.35 -5.144 2.111 +4 16 -5.917 -5.265 1.696 -4.095 -5.265 0.873 -4.045 -5.346 0.984 -5.867 -5.346 1.807 +4 16 -5.951 -5.144 1.622 -4.128 -5.144 0.799 -4.095 -5.265 0.873 -5.917 -5.265 1.696 +4 16 -3.985 -5.375 1.115 -3.234 -5.375 2.78 -3.365 -5.346 2.839 -4.057 -5.346 1.305 +4 16 -4.897 -5.375 1.526 -3.985 -5.375 1.115 -4.057 -5.346 1.305 -4.707 -5.346 1.598 +4 16 -4.707 -5.346 1.598 -4.306 -5.346 2.485 -4.437 -5.375 2.544 -4.897 -5.375 1.526 +4 16 -4.057 -5.346 1.305 -3.365 -5.346 2.839 -3.475 -5.265 2.889 -4.118 -5.265 1.466 +4 16 -4.118 -5.265 1.466 -3.475 -5.265 2.889 -3.55 -5.144 2.922 -4.158 -5.144 1.573 +4 16 -4.158 -5.144 1.573 -3.55 -5.144 2.922 -3.576 -5 2.934 -4.173 -5 1.611 +4 16 -4.968 -5.346 1.716 -4.568 -5.346 2.603 -4.679 -5.265 2.653 -5.029 -5.265 1.877 +4 16 -4.546 -5.265 1.659 -4.196 -5.265 2.435 -4.306 -5.346 2.485 -4.707 -5.346 1.598 +4 16 -5.029 -5.265 1.877 -4.679 -5.265 2.653 -4.753 -5.144 2.687 -5.07 -5.144 1.985 +4 16 -5.07 -5.144 1.985 -4.753 -5.144 2.687 -4.779 -5 2.699 -5.084 -5 2.023 +3 16 -5.808 -5.375 1.938 -5.867 -5.346 1.807 -4.897 -5.375 1.526 +4 16 -4.897 -5.375 1.526 -4.437 -5.375 2.544 -4.568 -5.346 2.603 -4.968 -5.346 1.716 +4 16 -5.808 -5.375 1.938 -4.897 -5.375 1.526 -4.968 -5.346 1.716 -5.618 -5.346 2.01 +4 16 -4.707 -5.346 1.598 -4.057 -5.346 1.305 -4.118 -5.265 1.466 -4.546 -5.265 1.659 +4 16 -5.618 -5.346 2.01 -4.968 -5.346 1.716 -5.029 -5.265 1.877 -5.457 -5.265 2.071 +4 16 -4.546 -5.265 1.659 -4.118 -5.265 1.466 -4.158 -5.144 1.573 -4.438 -5.144 1.7 +4 16 -5.457 -5.265 2.071 -5.029 -5.265 1.877 -5.07 -5.144 1.985 -5.35 -5.144 2.111 +4 16 -4.438 -5.144 1.7 -4.158 -5.144 1.573 -4.173 -5 1.611 -4.401 -5 1.714 +4 16 -5.35 -5.144 2.111 -5.07 -5.144 1.985 -5.084 -5 2.023 -5.312 -5 2.126 +3 16 -4.897 -5.375 1.526 -5.867 -5.346 1.807 -4.045 -5.346 0.984 +4 16 -4.128 -5.144 0.799 -4.14 -5 0.773 -3.997 -5 0.74 -3.996 -5.144 0.768 +3 16 -3.985 -5.375 1.115 -4.897 -5.375 1.526 -4.045 -5.346 0.984 +4 16 -5.613 -5.375 -2.558 -5.695 -5.346 -2.44 -5.804 -5.32 -2.515 -5.731 -5.346 -2.64 +3 16 -4.987 -5.375 -3.463 -5.613 -5.375 -2.558 -5.731 -5.346 -2.64 +4 16 -5.495 -5.346 -2.476 -5.586 -5.32 -2.365 -5.695 -5.346 -2.44 -5.613 -5.375 -2.558 +4 16 -5.695 -5.346 -2.44 -5.764 -5.265 -2.34 -5.847 -5.245 -2.398 -5.804 -5.32 -2.515 +4 16 -5.731 -5.346 -2.64 -5.804 -5.32 -2.515 -5.896 -5.245 -2.579 -5.831 -5.265 -2.709 +4 16 -4.579 -5.265 -4.518 -4.479 -5.346 -4.449 -5.731 -5.346 -2.64 -5.831 -5.265 -2.709 +4 16 -4.279 -5.346 -4.485 -4.361 -5.375 -4.367 -4.479 -5.346 -4.449 -4.388 -5.32 -4.561 +4 16 -4.361 -5.375 -4.367 -4.243 -5.346 -4.285 -4.787 -5.346 -3.499 -4.987 -5.375 -3.463 +4 16 -4.951 -5.346 -3.263 -5.495 -5.346 -2.476 -5.613 -5.375 -2.558 -4.987 -5.375 -3.463 +4 16 -5.395 -5.265 -2.407 -5.493 -5.245 -2.301 -5.586 -5.32 -2.365 -5.495 -5.346 -2.476 +4 16 -5.586 -5.32 -2.365 -5.68 -5.245 -2.282 -5.764 -5.265 -2.34 -5.695 -5.346 -2.44 +4 16 -5.764 -5.265 -2.34 -5.81 -5.144 -2.273 -5.855 -5.133 -2.304 -5.847 -5.245 -2.398 +4 16 -5.804 -5.32 -2.515 -5.847 -5.245 -2.398 -5.918 -5.187 -2.447 -5.896 -5.245 -2.579 +4 16 -5.831 -5.265 -2.709 -5.896 -5.245 -2.579 -5.958 -5.133 -2.622 -5.898 -5.144 -2.755 +4 16 -4.646 -5.144 -4.564 -4.579 -5.265 -4.518 -5.831 -5.265 -2.709 -5.898 -5.144 -2.755 +4 16 -4.388 -5.32 -4.561 -4.479 -5.346 -4.449 -4.579 -5.265 -4.518 -4.481 -5.245 -4.625 +4 16 -4.21 -5.265 -4.585 -4.279 -5.346 -4.485 -4.388 -5.32 -4.561 -4.294 -5.245 -4.643 +4 16 -4.17 -5.32 -4.41 -4.243 -5.346 -4.285 -4.361 -5.375 -4.367 -4.279 -5.346 -4.485 +4 16 -4.92 -5.265 -3.094 -5.395 -5.265 -2.407 -5.495 -5.346 -2.476 -4.951 -5.346 -3.263 +4 16 -5.328 -5.144 -2.361 -5.431 -5.133 -2.258 -5.493 -5.245 -2.301 -5.395 -5.265 -2.407 +4 16 -5.493 -5.245 -2.301 -5.61 -5.187 -2.233 -5.68 -5.245 -2.282 -5.586 -5.32 -2.365 +4 16 -5.68 -5.245 -2.282 -5.765 -5.133 -2.242 -5.81 -5.144 -2.273 -5.764 -5.265 -2.34 +3 16 -5.81 -5.144 -2.273 -5.826 -5 -2.25 -5.855 -5.133 -2.304 +4 16 -5.847 -5.245 -2.398 -5.855 -5.133 -2.304 -5.894 -5.101 -2.331 -5.918 -5.187 -2.447 +4 16 -5.896 -5.245 -2.579 -5.918 -5.187 -2.447 -5.965 -5.101 -2.479 -5.958 -5.133 -2.622 +4 16 -5.898 -5.144 -2.755 -5.958 -5.133 -2.622 -5.98 -5 -2.637 -5.921 -5 -2.771 +4 16 -4.669 -5 -4.58 -4.646 -5.144 -4.564 -5.898 -5.144 -2.755 -5.921 -5 -2.771 +4 16 -4.481 -5.245 -4.625 -4.579 -5.265 -4.518 -4.646 -5.144 -4.564 -4.543 -5.133 -4.667 +4 16 -4.294 -5.245 -4.643 -4.388 -5.32 -4.561 -4.481 -5.245 -4.625 -4.364 -5.187 -4.692 +4 16 -4.164 -5.144 -4.652 -4.21 -5.265 -4.585 -4.294 -5.245 -4.643 -4.209 -5.133 -4.683 +4 16 -4.127 -5.245 -4.527 -4.17 -5.32 -4.41 -4.279 -5.346 -4.485 -4.21 -5.265 -4.585 +4 16 -4.078 -5.245 -4.346 -4.143 -5.265 -4.216 -4.243 -5.346 -4.285 -4.17 -5.32 -4.41 +4 16 -4.899 -5.144 -2.981 -5.328 -5.144 -2.361 -5.395 -5.265 -2.407 -4.92 -5.265 -3.094 +4 16 -5.305 -5 -2.345 -5.41 -5 -2.243 -5.431 -5.133 -2.258 -5.328 -5.144 -2.361 +4 16 -5.431 -5.133 -2.258 -5.562 -5.101 -2.201 -5.61 -5.187 -2.233 -5.493 -5.245 -2.301 +4 16 -5.61 -5.187 -2.233 -5.727 -5.101 -2.215 -5.765 -5.133 -2.242 -5.68 -5.245 -2.282 +3 16 -5.765 -5.133 -2.242 -5.826 -5 -2.25 -5.81 -5.144 -2.273 +3 16 -5.855 -5.133 -2.304 -5.826 -5 -2.25 -5.894 -5.101 -2.331 +4 16 -5.918 -5.187 -2.447 -5.894 -5.101 -2.331 -5.919 -5.055 -2.349 -5.965 -5.101 -2.479 +4 16 -5.958 -5.133 -2.622 -5.965 -5.101 -2.479 -5.982 -5 -2.491 -5.98 -5 -2.637 +4 16 -4.543 -5.133 -4.667 -4.646 -5.144 -4.564 -4.669 -5 -4.58 -4.564 -5 -4.682 +4 16 -4.364 -5.187 -4.692 -4.481 -5.245 -4.625 -4.543 -5.133 -4.667 -4.412 -5.101 -4.725 +4 16 -4.209 -5.133 -4.683 -4.294 -5.245 -4.643 -4.364 -5.187 -4.692 -4.247 -5.101 -4.71 +3 16 -4.148 -5 -4.675 -4.164 -5.144 -4.652 -4.209 -5.133 -4.683 +4 16 -4.119 -5.133 -4.621 -4.127 -5.245 -4.527 -4.21 -5.265 -4.585 -4.164 -5.144 -4.652 +4 16 -4.056 -5.187 -4.478 -4.078 -5.245 -4.346 -4.17 -5.32 -4.41 -4.127 -5.245 -4.527 +4 16 -4.016 -5.133 -4.303 -4.076 -5.144 -4.17 -4.143 -5.265 -4.216 -4.078 -5.245 -4.346 +4 16 -4.892 -5 -2.941 -5.305 -5 -2.345 -5.328 -5.144 -2.361 -4.899 -5.144 -2.981 +4 16 -5.41 -5 -2.243 -5.546 -5 -2.189 -5.562 -5.101 -2.201 -5.431 -5.133 -2.258 +4 16 -5.562 -5.101 -2.201 -5.701 -5.055 -2.198 -5.727 -5.101 -2.215 -5.61 -5.187 -2.233 +3 16 -5.727 -5.101 -2.215 -5.826 -5 -2.25 -5.765 -5.133 -2.242 +3 16 -5.894 -5.101 -2.331 -5.826 -5 -2.25 -5.919 -5.055 -2.349 +4 16 -5.965 -5.101 -2.479 -5.919 -5.055 -2.349 -5.928 -5 -2.355 -5.982 -5 -2.491 +4 16 -4.412 -5.101 -4.725 -4.543 -5.133 -4.667 -4.564 -5 -4.682 -4.428 -5 -4.736 +4 16 -4.247 -5.101 -4.71 -4.364 -5.187 -4.692 -4.412 -5.101 -4.725 -4.273 -5.055 -4.727 +3 16 -4.148 -5 -4.675 -4.209 -5.133 -4.683 -4.247 -5.101 -4.71 +3 16 -4.148 -5 -4.675 -4.119 -5.133 -4.621 -4.164 -5.144 -4.652 +4 16 -4.08 -5.101 -4.594 -4.056 -5.187 -4.478 -4.127 -5.245 -4.527 -4.119 -5.133 -4.621 +4 16 -4.009 -5.101 -4.446 -4.016 -5.133 -4.303 -4.078 -5.245 -4.346 -4.056 -5.187 -4.478 +4 16 -3.995 -5 -4.288 -4.053 -5 -4.154 -4.076 -5.144 -4.17 -4.016 -5.133 -4.303 +4 16 -5.546 -5 -2.189 -5.692 -5 -2.191 -5.701 -5.055 -2.198 -5.562 -5.101 -2.201 +3 16 -5.701 -5.055 -2.198 -5.826 -5 -2.25 -5.727 -5.101 -2.215 +3 16 -5.919 -5.055 -2.349 -5.826 -5 -2.25 -5.928 -5 -2.355 +3 16 -4.412 -5.101 -4.725 -4.428 -5 -4.736 -4.282 -5 -4.734 +3 16 -4.282 -5 -4.734 -4.273 -5.055 -4.727 -4.412 -5.101 -4.725 +5 24 -4.282 -5 -4.734 -4.412 -5.101 -4.725 -4.273 -5.055 -4.727 -4.428 -5 -4.736 +3 16 -4.148 -5 -4.675 -4.247 -5.101 -4.71 -4.273 -5.055 -4.727 +3 16 -4.148 -5 -4.675 -4.08 -5.101 -4.594 -4.119 -5.133 -4.621 +4 16 -4.055 -5.055 -4.577 -4.009 -5.101 -4.446 -4.056 -5.187 -4.478 -4.08 -5.101 -4.594 +4 16 -3.992 -5 -4.434 -3.995 -5 -4.288 -4.016 -5.133 -4.303 -4.009 -5.101 -4.446 +3 16 -5.692 -5 -2.191 -5.826 -5 -2.25 -5.701 -5.055 -2.198 +3 16 -4.148 -5 -4.675 -4.273 -5.055 -4.727 -4.282 -5 -4.734 +3 16 -4.148 -5 -4.675 -4.055 -5.055 -4.577 -4.08 -5.101 -4.594 +4 16 -4.046 -5 -4.57 -3.992 -5 -4.434 -4.009 -5.101 -4.446 -4.055 -5.055 -4.577 +3 16 -4.148 -5 -4.675 -4.046 -5 -4.57 -4.055 -5.055 -4.577 +4 16 -2.893 -5.144 -2.013 -2.96 -5.265 -2.06 -2.902 -5.245 -2.143 -2.862 -5.133 -2.059 +3 16 -2.87 -5 -1.997 -2.893 -5.144 -2.013 -2.862 -5.133 -2.059 +4 16 -2.924 -5.133 -1.968 -3.018 -5.245 -1.976 -2.96 -5.265 -2.06 -2.893 -5.144 -2.013 +4 16 -2.96 -5.265 -2.06 -3.06 -5.346 -2.129 -2.985 -5.32 -2.238 -2.902 -5.245 -2.143 +4 16 -2.862 -5.133 -2.059 -2.902 -5.245 -2.143 -2.853 -5.187 -2.214 -2.835 -5.101 -2.097 +3 16 -2.87 -5 -1.997 -2.862 -5.133 -2.059 -2.835 -5.101 -2.097 +3 16 -2.87 -5 -1.997 -2.924 -5.133 -1.968 -2.893 -5.144 -2.013 +4 16 -2.951 -5.101 -1.93 -3.067 -5.187 -1.906 -3.018 -5.245 -1.976 -2.924 -5.133 -1.968 +4 16 -3.018 -5.245 -1.976 -3.135 -5.32 -2.02 -3.06 -5.346 -2.129 -2.96 -5.265 -2.06 +4 16 -3.06 -5.346 -2.129 -3.178 -5.375 -2.211 -3.096 -5.346 -2.329 -2.985 -5.32 -2.238 +4 16 -2.902 -5.245 -2.143 -2.985 -5.32 -2.238 -2.921 -5.245 -2.33 -2.853 -5.187 -2.214 +4 16 -2.835 -5.101 -2.097 -2.853 -5.187 -2.214 -2.821 -5.101 -2.261 -2.818 -5.055 -2.122 +3 16 -2.87 -5 -1.997 -2.835 -5.101 -2.097 -2.818 -5.055 -2.122 +3 16 -2.87 -5 -1.997 -2.951 -5.101 -1.93 -2.924 -5.133 -1.968 +4 16 -2.969 -5.055 -1.904 -3.099 -5.101 -1.858 -3.067 -5.187 -1.906 -2.951 -5.101 -1.93 +4 16 -3.067 -5.187 -1.906 -3.199 -5.245 -1.928 -3.135 -5.32 -2.02 -3.018 -5.245 -1.976 +4 16 -3.135 -5.32 -2.02 -3.26 -5.346 -2.093 -3.178 -5.375 -2.211 -3.06 -5.346 -2.129 +4 16 -4.787 -5.346 -3.499 -3.096 -5.346 -2.329 -3.178 -5.375 -2.211 -4.987 -5.375 -3.463 +4 16 -2.985 -5.32 -2.238 -3.096 -5.346 -2.329 -3.027 -5.265 -2.429 -2.921 -5.245 -2.33 +4 16 -2.853 -5.187 -2.214 -2.921 -5.245 -2.33 -2.878 -5.133 -2.392 -2.821 -5.101 -2.261 +4 16 -2.818 -5.055 -2.122 -2.821 -5.101 -2.261 -2.809 -5 -2.278 -2.811 -5 -2.131 +3 16 -2.87 -5 -1.997 -2.818 -5.055 -2.122 -2.811 -5 -2.131 +3 16 -2.87 -5 -1.997 -2.969 -5.055 -1.904 -2.951 -5.101 -1.93 +4 16 -2.975 -5 -1.895 -3.111 -5 -1.842 -3.099 -5.101 -1.858 -2.969 -5.055 -1.904 +4 16 -3.099 -5.101 -1.858 -3.242 -5.133 -1.866 -3.199 -5.245 -1.928 -3.067 -5.187 -1.906 +4 16 -3.199 -5.245 -1.928 -3.329 -5.265 -1.993 -3.26 -5.346 -2.093 -3.135 -5.32 -2.02 +4 16 -4.987 -5.375 -3.463 -3.178 -5.375 -2.211 -3.26 -5.346 -2.093 -4.951 -5.346 -3.263 +4 16 -2.921 -5.245 -2.33 -3.027 -5.265 -2.429 -2.981 -5.144 -2.496 -2.878 -5.133 -2.392 +4 16 -2.821 -5.101 -2.261 -2.878 -5.133 -2.392 -2.863 -5 -2.414 -2.809 -5 -2.278 +3 16 -2.87 -5 -1.997 -2.975 -5 -1.895 -2.969 -5.055 -1.904 +4 16 -3.111 -5 -1.842 -3.257 -5 -1.844 -3.242 -5.133 -1.866 -3.099 -5.101 -1.858 +4 16 -3.242 -5.133 -1.866 -3.375 -5.144 -1.926 -3.329 -5.265 -1.993 -3.199 -5.245 -1.928 +4 16 -4.951 -5.346 -3.263 -3.26 -5.346 -2.093 -3.329 -5.265 -1.993 -4.92 -5.265 -3.094 +4 16 -2.878 -5.133 -2.392 -2.981 -5.144 -2.496 -2.965 -5 -2.519 -2.863 -5 -2.414 +4 16 -3.257 -5 -1.844 -3.391 -5 -1.902 -3.375 -5.144 -1.926 -3.242 -5.133 -1.866 +4 16 -4.92 -5.265 -3.094 -3.329 -5.265 -1.993 -3.375 -5.144 -1.926 -4.899 -5.144 -2.981 +3 16 -4.987 -5.375 -3.463 -5.731 -5.346 -2.64 -4.479 -5.346 -4.449 +4 16 -4.899 -5.144 -2.981 -3.375 -5.144 -1.926 -3.391 -5 -1.902 -4.892 -5 -2.941 +3 16 -4.361 -5.375 -4.367 -4.987 -5.375 -3.463 -4.479 -5.346 -4.449 +4 16 -4.243 -5.346 -4.285 -4.143 -5.265 -4.216 -4.618 -5.265 -3.53 -4.787 -5.346 -3.499 +4 16 -4.143 -5.265 -4.216 -4.076 -5.144 -4.17 -4.505 -5.144 -3.55 -4.618 -5.265 -3.53 +4 16 -4.076 -5.144 -4.17 -4.053 -5 -4.154 -4.465 -5 -3.558 -4.505 -5.144 -3.55 +4 16 -3.027 -5.265 -2.429 -3.096 -5.346 -2.329 -4.787 -5.346 -3.499 -4.618 -5.265 -3.53 +4 16 -2.981 -5.144 -2.496 -3.027 -5.265 -2.429 -4.618 -5.265 -3.53 -4.505 -5.144 -3.55 +4 16 -2.965 -5 -2.519 -2.981 -5.144 -2.496 -4.505 -5.144 -3.55 -4.465 -5 -3.558 +4 16 5.959 -5.375 1.637 6.021 -5.346 1.508 6.14 -5.32 1.565 6.089 -5.346 1.699 +3 16 5.487 -5.375 2.631 5.959 -5.375 1.637 6.089 -5.346 1.699 +4 16 5.83 -5.346 1.576 5.901 -5.32 1.451 6.021 -5.346 1.508 5.959 -5.375 1.637 +4 16 6.021 -5.346 1.508 6.073 -5.265 1.398 6.165 -5.245 1.441 6.14 -5.32 1.565 +4 16 6.089 -5.346 1.699 6.14 -5.32 1.565 6.242 -5.245 1.613 6.199 -5.265 1.751 +4 16 5.254 -5.265 3.738 5.144 -5.346 3.686 6.089 -5.346 1.699 6.199 -5.265 1.751 +4 16 4.953 -5.346 3.754 5.015 -5.375 3.624 5.144 -5.346 3.686 5.073 -5.32 3.811 +4 16 5.015 -5.375 3.624 4.885 -5.346 3.563 5.296 -5.346 2.699 5.487 -5.375 2.631 +4 16 5.419 -5.346 2.44 5.83 -5.346 1.576 5.959 -5.375 1.637 5.487 -5.375 2.631 +4 16 5.72 -5.265 1.523 5.799 -5.245 1.402 5.901 -5.32 1.451 5.83 -5.346 1.576 +4 16 5.901 -5.32 1.451 5.981 -5.245 1.354 6.073 -5.265 1.398 6.021 -5.346 1.508 +3 16 6.108 -5.144 1.324 6.157 -5.133 1.348 6.165 -5.245 1.441 +3 16 6.165 -5.245 1.441 6.073 -5.265 1.398 6.108 -5.144 1.324 +5 24 6.165 -5.245 1.441 6.108 -5.144 1.324 6.073 -5.265 1.398 6.157 -5.133 1.348 +4 16 6.14 -5.32 1.565 6.165 -5.245 1.441 6.242 -5.187 1.478 6.242 -5.245 1.613 +4 16 6.199 -5.265 1.751 6.242 -5.245 1.613 6.31 -5.133 1.645 6.272 -5.144 1.786 +4 16 5.328 -5.144 3.773 5.254 -5.265 3.738 6.199 -5.265 1.751 6.272 -5.144 1.786 +4 16 5.073 -5.32 3.811 5.144 -5.346 3.686 5.254 -5.265 3.738 5.175 -5.245 3.859 +4 16 4.901 -5.265 3.864 4.953 -5.346 3.754 5.073 -5.32 3.811 4.993 -5.245 3.907 +4 16 4.834 -5.32 3.697 4.885 -5.346 3.563 5.015 -5.375 3.624 4.953 -5.346 3.754 +4 16 5.361 -5.265 2.277 5.72 -5.265 1.523 5.83 -5.346 1.576 5.419 -5.346 2.44 +4 16 5.646 -5.144 1.489 5.732 -5.133 1.37 5.799 -5.245 1.402 5.72 -5.265 1.523 +4 16 5.799 -5.245 1.402 5.904 -5.187 1.317 5.981 -5.245 1.354 5.901 -5.32 1.451 +4 16 5.981 -5.245 1.354 6.058 -5.133 1.301 6.108 -5.144 1.324 6.073 -5.265 1.398 +3 16 6.108 -5.144 1.324 6.12 -5 1.299 6.157 -5.133 1.348 +4 16 6.165 -5.245 1.441 6.157 -5.133 1.348 6.199 -5.101 1.368 6.242 -5.187 1.478 +4 16 6.242 -5.245 1.613 6.242 -5.187 1.478 6.294 -5.101 1.503 6.31 -5.133 1.645 +4 16 6.272 -5.144 1.786 6.31 -5.133 1.645 6.334 -5 1.656 6.298 -5 1.798 +4 16 5.354 -5 3.785 5.328 -5.144 3.773 6.272 -5.144 1.786 6.298 -5 1.798 +4 16 5.175 -5.245 3.859 5.254 -5.265 3.738 5.328 -5.144 3.773 5.242 -5.133 3.891 +4 16 4.993 -5.245 3.907 5.073 -5.32 3.811 5.175 -5.245 3.859 5.07 -5.187 3.944 +4 16 4.866 -5.144 3.937 4.901 -5.265 3.864 4.993 -5.245 3.907 4.916 -5.133 3.961 +4 16 4.809 -5.245 3.82 4.834 -5.32 3.697 4.953 -5.346 3.754 4.901 -5.265 3.864 +4 16 4.732 -5.245 3.649 4.775 -5.265 3.51 4.885 -5.346 3.563 4.834 -5.32 3.697 +4 16 5.323 -5.144 2.169 5.646 -5.144 1.489 5.72 -5.265 1.523 5.361 -5.265 2.277 +4 16 5.62 -5 1.476 5.708 -5 1.359 5.732 -5.133 1.37 5.646 -5.144 1.489 +4 16 5.732 -5.133 1.37 5.852 -5.101 1.293 5.904 -5.187 1.317 5.799 -5.245 1.402 +4 16 5.904 -5.187 1.317 6.016 -5.101 1.281 6.058 -5.133 1.301 5.981 -5.245 1.354 +3 16 6.058 -5.133 1.301 6.12 -5 1.299 6.108 -5.144 1.324 +3 16 6.157 -5.133 1.348 6.12 -5 1.299 6.199 -5.101 1.368 +3 16 6.199 -5.101 1.368 6.228 -5.055 1.381 6.294 -5.101 1.503 +3 16 6.294 -5.101 1.503 6.242 -5.187 1.478 6.199 -5.101 1.368 +5 24 6.294 -5.101 1.503 6.199 -5.101 1.368 6.242 -5.187 1.478 6.228 -5.055 1.381 +4 16 6.31 -5.133 1.645 6.294 -5.101 1.503 6.312 -5 1.512 6.334 -5 1.656 +4 16 5.242 -5.133 3.891 5.328 -5.144 3.773 5.354 -5 3.785 5.266 -5 3.903 +4 16 5.07 -5.187 3.944 5.175 -5.245 3.859 5.242 -5.133 3.891 5.122 -5.101 3.969 +4 16 4.916 -5.133 3.961 4.993 -5.245 3.907 5.07 -5.187 3.944 4.958 -5.101 3.981 +3 16 4.854 -5 3.963 4.866 -5.144 3.937 4.916 -5.133 3.961 +4 16 4.817 -5.133 3.914 4.809 -5.245 3.82 4.901 -5.265 3.864 4.866 -5.144 3.937 +4 16 4.732 -5.187 3.783 4.732 -5.245 3.649 4.834 -5.32 3.697 4.809 -5.245 3.82 +4 16 4.664 -5.133 3.617 4.702 -5.144 3.476 4.775 -5.265 3.51 4.732 -5.245 3.649 +4 16 5.309 -5 2.131 5.62 -5 1.476 5.646 -5.144 1.489 5.323 -5.144 2.169 +4 16 5.708 -5 1.359 5.833 -5 1.284 5.852 -5.101 1.293 5.732 -5.133 1.37 +3 16 5.988 -5.055 1.267 6.016 -5.101 1.281 5.904 -5.187 1.317 +3 16 5.904 -5.187 1.317 5.852 -5.101 1.293 5.988 -5.055 1.267 +5 24 5.904 -5.187 1.317 5.988 -5.055 1.267 5.852 -5.101 1.293 6.016 -5.101 1.281 +3 16 6.016 -5.101 1.281 6.12 -5 1.299 6.058 -5.133 1.301 +3 16 6.199 -5.101 1.368 6.12 -5 1.299 6.228 -5.055 1.381 +4 16 6.294 -5.101 1.503 6.228 -5.055 1.381 6.237 -5 1.386 6.312 -5 1.512 +4 16 5.122 -5.101 3.969 5.242 -5.133 3.891 5.266 -5 3.903 5.141 -5 3.978 +4 16 4.958 -5.101 3.981 5.07 -5.187 3.944 5.122 -5.101 3.969 4.986 -5.055 3.994 +3 16 4.854 -5 3.963 4.916 -5.133 3.961 4.958 -5.101 3.981 +3 16 4.854 -5 3.963 4.817 -5.133 3.914 4.866 -5.144 3.937 +4 16 4.775 -5.101 3.894 4.732 -5.187 3.783 4.809 -5.245 3.82 4.817 -5.133 3.914 +4 16 4.68 -5.101 3.759 4.664 -5.133 3.617 4.732 -5.245 3.649 4.732 -5.187 3.783 +4 16 4.64 -5 3.605 4.676 -5 3.463 4.702 -5.144 3.476 4.664 -5.133 3.617 +3 16 5.978 -5 1.263 5.988 -5.055 1.267 5.852 -5.101 1.293 +3 16 5.852 -5.101 1.293 5.833 -5 1.284 5.978 -5 1.263 +5 24 5.852 -5.101 1.293 5.978 -5 1.263 5.833 -5 1.284 5.988 -5.055 1.267 +3 16 5.988 -5.055 1.267 6.12 -5 1.299 6.016 -5.101 1.281 +3 16 6.228 -5.055 1.381 6.12 -5 1.299 6.237 -5 1.386 +4 16 4.986 -5.055 3.994 5.122 -5.101 3.969 5.141 -5 3.978 4.996 -5 3.999 +3 16 4.854 -5 3.963 4.958 -5.101 3.981 4.986 -5.055 3.994 +3 16 4.854 -5 3.963 4.775 -5.101 3.894 4.817 -5.133 3.914 +4 16 4.746 -5.055 3.88 4.68 -5.101 3.759 4.732 -5.187 3.783 4.775 -5.101 3.894 +4 16 4.662 -5 3.75 4.64 -5 3.605 4.664 -5.133 3.617 4.68 -5.101 3.759 +3 16 5.978 -5 1.263 6.12 -5 1.299 5.988 -5.055 1.267 +3 16 4.854 -5 3.963 4.986 -5.055 3.994 4.996 -5 3.999 +3 16 4.854 -5 3.963 4.746 -5.055 3.88 4.775 -5.101 3.894 +4 16 4.737 -5 3.876 4.662 -5 3.75 4.68 -5.101 3.759 4.746 -5.055 3.88 +3 16 4.854 -5 3.963 4.737 -5 3.876 4.746 -5.055 3.88 +4 16 3.187 -5.144 1.538 3.26 -5.265 1.573 3.217 -5.245 1.664 3.163 -5.133 1.587 +3 16 3.161 -5 1.526 3.187 -5.144 1.538 3.163 -5.133 1.587 +4 16 3.211 -5.133 1.488 3.304 -5.245 1.481 3.26 -5.265 1.573 3.187 -5.144 1.538 +4 16 3.26 -5.265 1.573 3.37 -5.346 1.625 3.313 -5.32 1.745 3.217 -5.245 1.664 +4 16 3.163 -5.133 1.587 3.217 -5.245 1.664 3.18 -5.187 1.742 3.143 -5.101 1.629 +3 16 3.161 -5 1.526 3.163 -5.133 1.587 3.143 -5.101 1.629 +3 16 3.161 -5 1.526 3.211 -5.133 1.488 3.187 -5.144 1.538 +4 16 3.231 -5.101 1.446 3.341 -5.187 1.403 3.304 -5.245 1.481 3.211 -5.133 1.488 +4 16 3.304 -5.245 1.481 3.427 -5.32 1.505 3.37 -5.346 1.625 3.26 -5.265 1.573 +4 16 3.37 -5.346 1.625 3.5 -5.375 1.687 3.438 -5.346 1.816 3.313 -5.32 1.745 +4 16 3.217 -5.245 1.664 3.313 -5.32 1.745 3.265 -5.245 1.846 3.18 -5.187 1.742 +4 16 3.143 -5.101 1.629 3.18 -5.187 1.742 3.155 -5.101 1.794 3.13 -5.055 1.658 +3 16 3.161 -5 1.526 3.143 -5.101 1.629 3.13 -5.055 1.658 +3 16 3.161 -5 1.526 3.231 -5.101 1.446 3.211 -5.133 1.488 +4 16 3.244 -5.055 1.418 3.366 -5.101 1.351 3.341 -5.187 1.403 3.231 -5.101 1.446 +4 16 3.341 -5.187 1.403 3.475 -5.245 1.404 3.427 -5.32 1.505 3.304 -5.245 1.481 +4 16 3.427 -5.32 1.505 3.562 -5.346 1.557 3.5 -5.375 1.687 3.37 -5.346 1.625 +4 16 5.296 -5.346 2.699 3.438 -5.346 1.816 3.5 -5.375 1.687 5.487 -5.375 2.631 +4 16 3.313 -5.32 1.745 3.438 -5.346 1.816 3.386 -5.265 1.926 3.265 -5.245 1.846 +4 16 3.18 -5.187 1.742 3.265 -5.245 1.846 3.233 -5.133 1.914 3.155 -5.101 1.794 +4 16 3.13 -5.055 1.658 3.155 -5.101 1.794 3.147 -5 1.812 3.125 -5 1.667 +3 16 3.161 -5 1.526 3.13 -5.055 1.658 3.125 -5 1.667 +3 16 3.161 -5 1.526 3.244 -5.055 1.418 3.231 -5.101 1.446 +4 16 3.249 -5 1.408 3.374 -5 1.333 3.366 -5.101 1.351 3.244 -5.055 1.418 +4 16 3.366 -5.101 1.351 3.508 -5.133 1.336 3.475 -5.245 1.404 3.341 -5.187 1.403 +4 16 3.475 -5.245 1.404 3.614 -5.265 1.447 3.562 -5.346 1.557 3.427 -5.32 1.505 +4 16 5.487 -5.375 2.631 3.5 -5.375 1.687 3.562 -5.346 1.557 5.419 -5.346 2.44 +4 16 3.265 -5.245 1.846 3.386 -5.265 1.926 3.351 -5.144 1.999 3.233 -5.133 1.914 +4 16 3.155 -5.101 1.794 3.233 -5.133 1.914 3.222 -5 1.938 3.147 -5 1.812 +3 16 3.161 -5 1.526 3.249 -5 1.408 3.244 -5.055 1.418 +4 16 3.374 -5 1.333 3.519 -5 1.312 3.508 -5.133 1.336 3.366 -5.101 1.351 +4 16 3.508 -5.133 1.336 3.649 -5.144 1.374 3.614 -5.265 1.447 3.475 -5.245 1.404 +4 16 5.419 -5.346 2.44 3.562 -5.346 1.557 3.614 -5.265 1.447 5.361 -5.265 2.277 +4 16 3.233 -5.133 1.914 3.351 -5.144 1.999 3.339 -5 2.025 3.222 -5 1.938 +4 16 3.519 -5 1.312 3.661 -5 1.348 3.649 -5.144 1.374 3.508 -5.133 1.336 +4 16 5.361 -5.265 2.277 3.614 -5.265 1.447 3.649 -5.144 1.374 5.323 -5.144 2.169 +3 16 5.487 -5.375 2.631 6.089 -5.346 1.699 5.144 -5.346 3.686 +4 16 5.323 -5.144 2.169 3.649 -5.144 1.374 3.661 -5 1.348 5.309 -5 2.131 +3 16 5.015 -5.375 3.624 5.487 -5.375 2.631 5.144 -5.346 3.686 +4 16 4.885 -5.346 3.563 4.775 -5.265 3.51 5.134 -5.265 2.756 5.296 -5.346 2.699 +4 16 4.775 -5.265 3.51 4.702 -5.144 3.476 5.025 -5.144 2.795 5.134 -5.265 2.756 +4 16 4.702 -5.144 3.476 4.676 -5 3.463 4.987 -5 2.808 5.025 -5.144 2.795 +4 16 3.386 -5.265 1.926 3.438 -5.346 1.816 5.296 -5.346 2.699 5.134 -5.265 2.756 +4 16 3.351 -5.144 1.999 3.386 -5.265 1.926 5.134 -5.265 2.756 5.025 -5.144 2.795 +4 16 3.339 -5 2.025 3.351 -5.144 1.999 5.025 -5.144 2.795 4.987 -5 2.808 +4 16 -1.556 -5 6.128 -1.528 -5.144 6.128 -1.501 -5.144 6.26 -1.528 -5 6.271 +4 16 -1.556 -5 4.028 -1.528 -5.144 4.028 -1.528 -5.144 6.128 -1.556 -5 6.128 +4 16 -1.528 -5.144 6.128 -1.446 -5.265 6.128 -1.426 -5.265 6.229 -1.501 -5.144 6.26 +4 16 -1.528 -5 6.271 -1.501 -5.144 6.26 -1.426 -5.144 6.373 -1.446 -5 6.393 +4 16 -1.501 -5.133 3.884 -1.528 -5.144 4.028 -1.556 -5 4.028 -1.528 -5 3.884 +4 16 -1.528 -5.144 4.028 -1.446 -5.265 4.028 -1.446 -5.265 6.128 -1.528 -5.144 6.128 +4 16 -1.446 -5.265 6.128 -1.325 -5.346 6.128 -1.314 -5.346 6.183 -1.426 -5.265 6.229 +4 16 -1.501 -5.144 6.26 -1.426 -5.265 6.229 -1.369 -5.265 6.315 -1.426 -5.144 6.373 +4 16 -1.446 -5 6.393 -1.426 -5.144 6.373 -1.314 -5.144 6.448 -1.325 -5 6.474 +4 16 -1.426 -5.101 3.762 -1.501 -5.133 3.884 -1.528 -5 3.884 -1.446 -5 3.762 +4 16 -1.426 -5.245 3.884 -1.446 -5.265 4.028 -1.528 -5.144 4.028 -1.501 -5.133 3.884 +4 16 -1.446 -5.265 4.028 -1.325 -5.346 4.028 -1.325 -5.346 6.128 -1.446 -5.265 6.128 +3 16 -1.325 -5.346 6.128 -1.181 -5.375 6.128 -1.314 -5.346 6.183 +4 16 -1.426 -5.265 6.229 -1.314 -5.346 6.183 -1.283 -5.346 6.229 -1.369 -5.265 6.315 +4 16 -1.426 -5.144 6.373 -1.369 -5.265 6.315 -1.283 -5.265 6.373 -1.314 -5.144 6.448 +4 16 -1.325 -5 6.474 -1.314 -5.144 6.448 -1.181 -5.144 6.474 -1.181 -5 6.503 +4 16 -0.835 -5 3.884 -0.806 -5 4.028 -0.835 -5.144 4.028 -0.861 -5.133 3.884 +4 16 -1.314 -5.055 3.681 -1.426 -5.101 3.762 -1.446 -5 3.762 -1.325 -5 3.681 +4 16 -1.369 -5.187 3.762 -1.426 -5.245 3.884 -1.501 -5.133 3.884 -1.426 -5.101 3.762 +4 16 -1.314 -5.32 3.884 -1.325 -5.346 4.028 -1.446 -5.265 4.028 -1.426 -5.245 3.884 +4 16 -1.325 -5.346 4.028 -1.181 -5.375 4.028 -1.181 -5.375 6.128 -1.325 -5.346 6.128 +3 16 -1.314 -5.346 6.183 -1.181 -5.375 6.128 -1.283 -5.346 6.229 +4 16 -1.369 -5.265 6.315 -1.283 -5.346 6.229 -1.236 -5.346 6.26 -1.283 -5.265 6.373 +4 16 -1.314 -5.144 6.448 -1.283 -5.265 6.373 -1.181 -5.265 6.393 -1.181 -5.144 6.474 +4 16 -1.181 -5 6.503 -1.181 -5.144 6.474 -1.049 -5.144 6.448 -1.038 -5 6.474 +4 16 -0.861 -5.133 3.884 -0.835 -5.144 4.028 -0.916 -5.265 4.028 -0.936 -5.245 3.884 +4 16 -0.916 -5 3.762 -0.835 -5 3.884 -0.861 -5.133 3.884 -0.936 -5.101 3.762 +3 16 -1.181 -5 3.653 -1.314 -5.055 3.681 -1.325 -5 3.681 +4 16 -1.283 -5.101 3.681 -1.369 -5.187 3.762 -1.426 -5.101 3.762 -1.314 -5.055 3.681 +4 16 -1.283 -5.245 3.762 -1.314 -5.32 3.884 -1.426 -5.245 3.884 -1.369 -5.187 3.762 +4 16 -1.181 -5.346 3.884 -1.181 -5.375 4.028 -1.325 -5.346 4.028 -1.314 -5.32 3.884 +3 16 -1.283 -5.346 6.229 -1.181 -5.375 6.128 -1.236 -5.346 6.26 +4 16 -1.283 -5.265 6.373 -1.236 -5.346 6.26 -1.181 -5.346 6.271 -1.181 -5.265 6.393 +4 16 -1.181 -5.144 6.474 -1.181 -5.265 6.393 -1.08 -5.265 6.373 -1.049 -5.144 6.448 +4 16 -0.936 -5.245 3.884 -0.916 -5.265 4.028 -1.038 -5.346 4.028 -1.049 -5.32 3.884 +4 16 -0.936 -5.101 3.762 -0.861 -5.133 3.884 -0.936 -5.245 3.884 -0.994 -5.187 3.762 +4 16 -1.038 -5 3.681 -0.916 -5 3.762 -0.936 -5.101 3.762 -1.049 -5.055 3.681 +3 16 -1.181 -5 3.653 -1.283 -5.101 3.681 -1.314 -5.055 3.681 +4 16 -1.236 -5.133 3.681 -1.283 -5.245 3.762 -1.369 -5.187 3.762 -1.283 -5.101 3.681 +4 16 -1.181 -5.265 3.762 -1.181 -5.346 3.884 -1.314 -5.32 3.884 -1.283 -5.245 3.762 +4 16 -1.049 -5.32 3.884 -1.038 -5.346 4.028 -1.181 -5.375 4.028 -1.181 -5.346 3.884 +4 16 -1.181 -5.265 6.393 -1.181 -5.346 6.271 -1.126 -5.346 6.26 -1.08 -5.265 6.373 +4 16 -0.994 -5.187 3.762 -0.936 -5.245 3.884 -1.049 -5.32 3.884 -1.08 -5.245 3.762 +4 16 -1.049 -5.055 3.681 -0.936 -5.101 3.762 -0.994 -5.187 3.762 -1.08 -5.101 3.681 +3 16 -1.181 -5 3.653 -1.038 -5 3.681 -1.049 -5.055 3.681 +3 16 -1.181 -5 3.653 -1.236 -5.133 3.681 -1.283 -5.101 3.681 +4 16 -1.181 -5.144 3.681 -1.181 -5.265 3.762 -1.283 -5.245 3.762 -1.236 -5.133 3.681 +4 16 -1.08 -5.245 3.762 -1.049 -5.32 3.884 -1.181 -5.346 3.884 -1.181 -5.265 3.762 +4 16 0.772 -5.144 4.815 -0.948 -5.144 6.384 -1.003 -5.265 6.324 0.854 -5.265 4.631 +4 16 -1.08 -5.101 3.681 -0.994 -5.187 3.762 -1.08 -5.245 3.762 -1.126 -5.133 3.681 +3 16 -1.181 -5 3.653 -1.049 -5.055 3.681 -1.08 -5.101 3.681 +3 16 -1.181 -5 3.653 -1.181 -5.144 3.681 -1.236 -5.133 3.681 +4 16 -1.126 -5.133 3.681 -1.08 -5.245 3.762 -1.181 -5.265 3.762 -1.181 -5.144 3.681 +3 16 -1.181 -5 3.653 -1.08 -5.101 3.681 -1.126 -5.133 3.681 +3 16 -1.181 -5 3.653 -1.126 -5.133 3.681 -1.181 -5.144 3.681 +4 16 1.465 -5.144 4.028 1.494 -5 4.028 1.494 -5 6.128 1.465 -5.144 6.128 +4 16 0.772 -5.144 6.128 0.799 -5.133 6.271 0.772 -5 6.271 0.744 -5 6.128 +4 16 1.384 -5.265 4.028 1.465 -5.144 4.028 1.465 -5.144 6.128 1.384 -5.265 6.128 +4 16 1.494 -5 4.028 1.465 -5.144 4.028 1.439 -5.144 3.895 1.465 -5 3.884 +4 16 1.494 -5 6.128 1.465 -5 6.271 1.439 -5.133 6.271 1.465 -5.144 6.128 +4 16 0.854 -5.265 6.128 0.874 -5.245 6.271 0.799 -5.133 6.271 0.772 -5.144 6.128 +4 16 0.799 -5.133 6.271 0.874 -5.101 6.393 0.854 -5 6.393 0.772 -5 6.271 +4 16 1.119 -5 3.653 1.119 -5.144 3.681 0.986 -5.144 3.708 0.975 -5 3.681 +4 16 1.262 -5.346 4.028 1.384 -5.265 4.028 1.384 -5.265 6.128 1.262 -5.346 6.128 +4 16 1.465 -5.144 4.028 1.384 -5.265 4.028 1.364 -5.265 3.926 1.439 -5.144 3.895 +4 16 1.465 -5.144 6.128 1.439 -5.133 6.271 1.364 -5.245 6.271 1.384 -5.265 6.128 +4 16 1.465 -5 3.884 1.439 -5.144 3.895 1.364 -5.144 3.783 1.384 -5 3.762 +4 16 1.465 -5 6.271 1.384 -5 6.393 1.364 -5.101 6.393 1.439 -5.133 6.271 +4 16 0.975 -5.346 6.128 0.986 -5.32 6.271 0.874 -5.245 6.271 0.854 -5.265 6.128 +4 16 0.874 -5.245 6.271 0.931 -5.188 6.393 0.874 -5.101 6.393 0.799 -5.133 6.271 +4 16 0.874 -5.101 6.393 0.986 -5.055 6.474 0.975 -5 6.474 0.854 -5 6.393 +4 16 1.262 -5 3.681 1.251 -5.144 3.708 1.119 -5.144 3.681 1.119 -5 3.653 +4 16 1.119 -5.144 3.681 1.119 -5.265 3.762 1.017 -5.265 3.783 0.986 -5.144 3.708 +4 16 1.384 -5.265 4.028 1.262 -5.346 4.028 1.251 -5.346 3.973 1.364 -5.265 3.926 +4 16 1.384 -5.265 6.128 1.364 -5.245 6.271 1.251 -5.32 6.271 1.262 -5.346 6.128 +4 16 1.439 -5.144 3.895 1.364 -5.265 3.926 1.306 -5.265 3.84 1.364 -5.144 3.783 +4 16 1.439 -5.133 6.271 1.364 -5.101 6.393 1.306 -5.188 6.393 1.364 -5.245 6.271 +4 16 1.384 -5 3.762 1.364 -5.144 3.783 1.251 -5.144 3.708 1.262 -5 3.681 +4 16 1.384 -5 6.393 1.262 -5 6.474 1.251 -5.055 6.474 1.364 -5.101 6.393 +4 16 1.119 -5.375 6.128 1.119 -5.346 6.271 0.986 -5.32 6.271 0.975 -5.346 6.128 +4 16 0.986 -5.32 6.271 1.017 -5.245 6.393 0.931 -5.188 6.393 0.874 -5.245 6.271 +4 16 0.931 -5.188 6.393 1.017 -5.101 6.474 0.986 -5.055 6.474 0.874 -5.101 6.393 +3 16 0.986 -5.055 6.474 1.119 -5 6.503 0.975 -5 6.474 +4 16 1.119 -5.265 3.762 1.119 -5.346 3.884 1.064 -5.346 3.895 1.017 -5.265 3.783 +3 16 1.064 -5.346 3.895 1.119 -5.375 4.028 1.014 -5.346 3.931 +4 16 1.251 -5.144 3.708 1.22 -5.265 3.783 1.119 -5.265 3.762 1.119 -5.144 3.681 +3 16 1.262 -5.346 4.028 1.119 -5.375 4.028 1.251 -5.346 3.973 +4 16 1.262 -5.346 6.128 1.251 -5.32 6.271 1.119 -5.346 6.271 1.119 -5.375 6.128 +4 16 1.364 -5.265 3.926 1.251 -5.346 3.973 1.22 -5.346 3.926 1.306 -5.265 3.84 +4 16 1.364 -5.245 6.271 1.306 -5.188 6.393 1.22 -5.245 6.393 1.251 -5.32 6.271 +4 16 1.364 -5.144 3.783 1.306 -5.265 3.84 1.22 -5.265 3.783 1.251 -5.144 3.708 +4 16 1.364 -5.101 6.393 1.251 -5.055 6.474 1.22 -5.101 6.474 1.306 -5.188 6.393 +3 16 1.262 -5 6.474 1.119 -5 6.503 1.251 -5.055 6.474 +4 16 1.119 -5.346 6.271 1.119 -5.265 6.393 1.017 -5.245 6.393 0.986 -5.32 6.271 +4 16 1.017 -5.245 6.393 1.064 -5.133 6.474 1.017 -5.101 6.474 0.931 -5.188 6.393 +3 16 1.017 -5.101 6.474 1.119 -5 6.503 0.986 -5.055 6.474 +4 16 1.22 -5.265 3.783 1.174 -5.346 3.895 1.119 -5.346 3.884 1.119 -5.265 3.762 +3 16 1.119 -5.346 3.884 1.119 -5.375 4.028 1.064 -5.346 3.895 +3 16 1.251 -5.346 3.973 1.119 -5.375 4.028 1.22 -5.346 3.926 +4 16 1.251 -5.32 6.271 1.22 -5.245 6.393 1.119 -5.265 6.393 1.119 -5.346 6.271 +4 16 1.306 -5.265 3.84 1.22 -5.346 3.926 1.174 -5.346 3.895 1.22 -5.265 3.783 +4 16 1.306 -5.188 6.393 1.22 -5.101 6.474 1.174 -5.133 6.474 1.22 -5.245 6.393 +3 16 1.251 -5.055 6.474 1.119 -5 6.503 1.22 -5.101 6.474 +4 16 1.119 -5.265 6.393 1.119 -5.144 6.474 1.064 -5.133 6.474 1.017 -5.245 6.393 +3 16 1.064 -5.133 6.474 1.119 -5 6.503 1.017 -5.101 6.474 +3 16 1.174 -5.346 3.895 1.119 -5.375 4.028 1.119 -5.346 3.884 +3 16 1.22 -5.346 3.926 1.119 -5.375 4.028 1.174 -5.346 3.895 +4 16 1.22 -5.245 6.393 1.174 -5.133 6.474 1.119 -5.144 6.474 1.119 -5.265 6.393 +3 16 1.22 -5.101 6.474 1.119 -5 6.503 1.174 -5.133 6.474 +3 16 1.119 -5.144 6.474 1.119 -5 6.503 1.064 -5.133 6.474 +3 16 1.174 -5.133 6.474 1.119 -5 6.503 1.119 -5.144 6.474 +4 16 1.014 -5.346 3.931 -1.038 -5.346 5.803 -0.916 -5.265 5.527 0.928 -5.265 3.845 +4 16 1.017 -5.265 3.783 1.064 -5.346 3.895 1.014 -5.346 3.931 0.928 -5.265 3.845 +4 16 -1.049 -5.144 6.448 -1.08 -5.265 6.373 -1.003 -5.265 6.324 -0.948 -5.144 6.384 +4 16 -1.038 -5 6.474 -1.049 -5.144 6.448 -0.948 -5.144 6.384 -0.929 -5 6.405 +4 16 0.854 -5.265 4.631 -1.003 -5.265 6.324 -1.085 -5.346 6.234 0.975 -5.346 4.355 +4 16 -0.835 -5.144 4.028 -0.806 -5 4.028 -0.806 -5 5.278 -0.835 -5.144 5.343 +4 16 -0.916 -5.265 4.028 -0.835 -5.144 4.028 -0.835 -5.144 5.343 -0.916 -5.265 5.527 +4 16 -1.038 -5.346 4.028 -0.916 -5.265 4.028 -0.916 -5.265 5.527 -1.038 -5.346 5.803 +4 16 -1.181 -5.375 6.128 -1.181 -5.375 4.028 -1.038 -5.346 4.028 -1.038 -5.346 5.803 +3 16 -1.236 -5.346 6.26 -1.181 -5.375 6.128 -1.181 -5.346 6.271 +3 16 -1.181 -5.375 6.128 -1.126 -5.346 6.26 -1.181 -5.346 6.271 +3 16 -1.126 -5.346 6.26 -1.181 -5.375 6.128 -1.085 -5.346 6.234 +4 16 0.772 -5.144 4.815 0.772 -5.144 6.128 0.744 -5 6.128 0.744 -5 4.879 +4 16 0.975 -5 3.681 0.986 -5.144 3.708 0.871 -5.144 3.787 0.851 -5 3.767 +4 16 0.854 -5.265 4.631 0.854 -5.265 6.128 0.772 -5.144 6.128 0.772 -5.144 4.815 +4 16 0.975 -5.346 4.355 0.975 -5.346 6.128 0.854 -5.265 6.128 0.854 -5.265 4.631 +4 16 0.871 -5.144 3.787 -0.835 -5.144 5.343 -0.806 -5 5.278 0.851 -5 3.767 +4 16 1.119 -5.375 4.028 -1.181 -5.375 6.128 -1.038 -5.346 5.803 1.014 -5.346 3.931 +4 16 0.744 -5 4.879 -0.929 -5 6.405 -0.948 -5.144 6.384 0.772 -5.144 4.815 +4 16 -1.08 -5.265 6.373 -1.126 -5.346 6.26 -1.085 -5.346 6.234 -1.003 -5.265 6.324 +4 16 0.986 -5.144 3.708 1.017 -5.265 3.783 0.928 -5.265 3.845 0.871 -5.144 3.787 +4 16 1.119 -5.375 4.028 0.975 -5.346 4.355 -1.085 -5.346 6.234 -1.181 -5.375 6.128 +4 16 1.119 -5.375 4.028 1.119 -5.375 6.128 0.975 -5.346 6.128 0.975 -5.346 4.355 +4 16 0.928 -5.265 3.845 -0.916 -5.265 5.527 -0.835 -5.144 5.343 0.871 -5.144 3.787 +4 16 1.119 -5.375 4.028 1.262 -5.346 4.028 1.262 -5.346 6.128 1.119 -5.375 6.128 +4 16 0.6 -5.375 -4.87 0.744 -5.346 -4.87 0.744 -5.32 -4.737 0.6 -5.346 -4.726 +4 16 0.744 -5.346 -4.87 0.865 -5.265 -4.87 0.865 -5.245 -4.769 0.744 -5.32 -4.737 +4 16 0.865 -5.265 -4.87 0.946 -5.144 -4.87 0.946 -5.133 -4.815 0.865 -5.245 -4.769 +4 16 0.6 -5.346 -4.726 0.744 -5.32 -4.737 0.744 -5.245 -4.625 0.6 -5.265 -4.605 +4 16 0.744 -5.32 -4.737 0.865 -5.245 -4.769 0.865 -5.187 -4.683 0.744 -5.245 -4.625 +4 16 0.865 -5.245 -4.769 0.946 -5.133 -4.815 0.946 -5.101 -4.769 0.865 -5.187 -4.683 +4 16 0.6 -5.265 -4.605 0.744 -5.245 -4.625 0.744 -5.133 -4.55 0.6 -5.144 -4.524 +4 16 0.744 -5.245 -4.625 0.865 -5.187 -4.683 0.865 -5.101 -4.625 0.744 -5.133 -4.55 +4 16 0.865 -5.187 -4.683 0.946 -5.101 -4.769 0.946 -5.055 -4.737 0.865 -5.101 -4.625 +4 16 0.865 -5.101 -4.625 0.946 -5.055 -4.737 0.946 -5 -4.726 0.865 -5 -4.605 +4 16 0.6 -5.144 -4.524 0.744 -5.133 -4.55 0.744 -5 -4.524 0.6 -5 -4.495 +4 16 0.744 -5.133 -4.55 0.865 -5.101 -4.625 0.865 -5 -4.605 0.744 -5 -4.524 +4 16 0.6 -5 -5.245 0.744 -5 -5.216 0.744 -5.133 -5.19 0.6 -5.144 -5.216 +4 16 0.744 -5 -5.216 0.865 -5 -5.135 0.865 -5.101 -5.115 0.744 -5.133 -5.19 +4 16 0.865 -5 -5.135 0.946 -5 -5.014 0.946 -5.055 -5.003 0.865 -5.101 -5.115 +4 16 0.865 -5.101 -5.115 0.946 -5.055 -5.003 0.946 -5.101 -4.971 0.865 -5.187 -5.058 +4 16 0.6 -5.144 -5.216 0.744 -5.133 -5.19 0.744 -5.245 -5.115 0.6 -5.265 -5.135 +4 16 0.744 -5.133 -5.19 0.865 -5.101 -5.115 0.865 -5.187 -5.058 0.744 -5.245 -5.115 +4 16 0.6 -5.265 -5.135 0.744 -5.245 -5.115 0.744 -5.32 -5.003 0.6 -5.346 -5.014 +4 16 0.744 -5.245 -5.115 0.865 -5.187 -5.058 0.865 -5.245 -4.971 0.744 -5.32 -5.003 +4 16 0.865 -5.187 -5.058 0.946 -5.101 -4.971 0.946 -5.133 -4.925 0.865 -5.245 -4.971 +3 16 0.946 -5.144 -4.87 0.975 -5 -4.87 0.946 -5.133 -4.815 +3 16 0.946 -5.133 -4.815 0.975 -5 -4.87 0.946 -5.101 -4.769 +3 16 0.946 -5.101 -4.769 0.975 -5 -4.87 0.946 -5.055 -4.737 +3 16 0.946 -5.055 -4.737 0.975 -5 -4.87 0.946 -5 -4.726 +3 16 0.946 -5 -5.014 0.975 -5 -4.87 0.946 -5.055 -5.003 +3 16 0.946 -5.055 -5.003 0.975 -5 -4.87 0.946 -5.101 -4.971 +3 16 0.946 -5.101 -4.971 0.975 -5 -4.87 0.946 -5.133 -4.925 +4 16 0.744 -5.32 -5.003 0.865 -5.245 -4.971 0.865 -5.265 -4.87 0.744 -5.346 -4.87 +4 16 0.865 -5.245 -4.971 0.946 -5.133 -4.925 0.946 -5.144 -4.87 0.865 -5.265 -4.87 +3 16 0.946 -5.133 -4.925 0.975 -5 -4.87 0.946 -5.144 -4.87 +4 16 0.6 -5.346 -5.014 0.744 -5.32 -5.003 0.744 -5.346 -4.87 0.6 -5.375 -4.87 +4 16 -0.946 -5.144 -4.87 -0.865 -5.265 -4.87 -0.865 -5.245 -4.769 -0.946 -5.133 -4.815 +4 16 -0.865 -5.265 -4.87 -0.744 -5.346 -4.87 -0.744 -5.32 -4.737 -0.865 -5.245 -4.769 +4 16 -0.744 -5.346 -4.87 -0.6 -5.375 -4.87 -0.6 -5.346 -4.726 -0.744 -5.32 -4.737 +4 16 -0.865 -5.245 -4.769 -0.744 -5.32 -4.737 -0.744 -5.245 -4.625 -0.865 -5.187 -4.683 +4 16 -0.744 -5.32 -4.737 -0.6 -5.346 -4.726 -0.6 -5.265 -4.605 -0.744 -5.245 -4.625 +4 16 -0.946 -5.133 -4.815 -0.865 -5.245 -4.769 -0.865 -5.187 -4.683 -0.946 -5.101 -4.769 +4 16 -0.946 -5.101 -4.769 -0.865 -5.187 -4.683 -0.865 -5.101 -4.625 -0.946 -5.055 -4.737 +4 16 -0.865 -5.187 -4.683 -0.744 -5.245 -4.625 -0.744 -5.133 -4.55 -0.865 -5.101 -4.625 +4 16 -0.744 -5.245 -4.625 -0.6 -5.265 -4.605 -0.6 -5.144 -4.524 -0.744 -5.133 -4.55 +4 16 -0.946 -5.055 -4.737 -0.865 -5.101 -4.625 -0.865 -5 -4.605 -0.946 -5 -4.726 +4 16 -0.865 -5.101 -4.625 -0.744 -5.133 -4.55 -0.744 -5 -4.524 -0.865 -5 -4.605 +4 16 -0.744 -5.133 -4.55 -0.6 -5.144 -4.524 -0.6 -5 -4.495 -0.744 -5 -4.524 +4 16 -0.946 -5 -5.014 -0.865 -5 -5.135 -0.865 -5.101 -5.115 -0.946 -5.055 -5.003 +4 16 -0.865 -5 -5.135 -0.744 -5 -5.216 -0.744 -5.133 -5.19 -0.865 -5.101 -5.115 +4 16 -0.744 -5 -5.216 -0.6 -5 -5.245 -0.6 -5.144 -5.216 -0.744 -5.133 -5.19 +4 16 -0.946 -5.055 -5.003 -0.865 -5.101 -5.115 -0.865 -5.187 -5.058 -0.946 -5.101 -4.971 +4 16 -0.865 -5.101 -5.115 -0.744 -5.133 -5.19 -0.744 -5.245 -5.115 -0.865 -5.187 -5.058 +4 16 -0.744 -5.133 -5.19 -0.6 -5.144 -5.216 -0.6 -5.265 -5.135 -0.744 -5.245 -5.115 +4 16 -0.744 -5.245 -5.115 -0.6 -5.265 -5.135 -0.6 -5.346 -5.014 -0.744 -5.32 -5.003 +4 16 -0.946 -5.101 -4.971 -0.865 -5.187 -5.058 -0.865 -5.245 -4.971 -0.946 -5.133 -4.925 +4 16 -0.865 -5.187 -5.058 -0.744 -5.245 -5.115 -0.744 -5.32 -5.003 -0.865 -5.245 -4.971 +3 16 -0.975 -5 -4.87 -0.946 -5.144 -4.87 -0.946 -5.133 -4.815 +3 16 -0.975 -5 -4.87 -0.946 -5.133 -4.815 -0.946 -5.101 -4.769 +3 16 -0.975 -5 -4.87 -0.946 -5.101 -4.769 -0.946 -5.055 -4.737 +3 16 -0.975 -5 -4.87 -0.946 -5.055 -4.737 -0.946 -5 -4.726 +3 16 -0.975 -5 -4.87 -0.946 -5 -5.014 -0.946 -5.055 -5.003 +3 16 -0.975 -5 -4.87 -0.946 -5.055 -5.003 -0.946 -5.101 -4.971 +3 16 -0.975 -5 -4.87 -0.946 -5.101 -4.971 -0.946 -5.133 -4.925 +3 16 -0.975 -5 -4.87 -0.946 -5.133 -4.925 -0.946 -5.144 -4.87 +4 16 -0.946 -5.133 -4.925 -0.865 -5.245 -4.971 -0.865 -5.265 -4.87 -0.946 -5.144 -4.87 +4 16 -0.865 -5.245 -4.971 -0.744 -5.32 -5.003 -0.744 -5.346 -4.87 -0.865 -5.265 -4.87 +4 16 -0.744 -5.32 -5.003 -0.6 -5.346 -5.014 -0.6 -5.375 -4.87 -0.744 -5.346 -4.87 +4 16 -0.6 -5.346 -5.014 -0.6 -5.265 -5.135 0.6 -5.265 -5.135 0.6 -5.346 -5.014 +4 16 -0.6 -5.265 -5.135 -0.6 -5.144 -5.216 0.6 -5.144 -5.216 0.6 -5.265 -5.135 +4 16 -0.6 -5.144 -5.216 -0.6 -5 -5.245 0.6 -5 -5.245 0.6 -5.144 -5.216 +4 16 -0.6 -5 -4.495 -0.6 -5.144 -4.524 0.6 -5.144 -4.524 0.6 -5 -4.495 +4 16 -0.6 -5.144 -4.524 -0.6 -5.265 -4.605 0.6 -5.265 -4.605 0.6 -5.144 -4.524 +4 16 -0.6 -5.265 -4.605 -0.6 -5.346 -4.726 0.6 -5.346 -4.726 0.6 -5.265 -4.605 +4 16 -0.6 -5.346 -4.726 -0.6 -5.375 -4.87 0.6 -5.375 -4.87 0.6 -5.346 -4.726 +4 16 -0.6 -5.375 -4.87 -0.6 -5.346 -5.014 0.6 -5.346 -5.014 0.6 -5.375 -4.87 +5 24 -0.946 -5.144 -4.87 -0.946 -5.133 -4.925 -0.975 -5 -4.87 -0.865 -5.265 -4.87 +2 24 0.854 -5 6.393 0.975 -5 6.474 +5 24 -4.505 -5.144 -3.55 -2.981 -5.144 -2.496 -4.618 -5.265 -3.53 -4.465 -5 -3.558 +5 24 2.609 -5 -3.464 2.709 -5.101 -3.498 2.671 -5.133 -3.472 2.735 -5.055 -3.516 +2 24 0.851 -5 3.767 0.975 -5 3.681 +5 24 4.854 -5 3.963 4.916 -5.133 3.961 4.866 -5.144 3.937 4.958 -5.101 3.981 +2 24 -0.975 -5 -4.87 -0.946 -5 -5.014 +5 24 -1.325 -5.346 4.028 -1.314 -5.32 3.884 -1.446 -5.265 4.028 -1.181 -5.375 4.028 +5 24 3.107 -5.144 -3.352 3.131 -5 -3.368 3.004 -5.133 -3.455 3.946 -5.144 -2.132 +5 24 3.161 -5 1.526 3.187 -5.144 1.538 3.163 -5.133 1.587 3.211 -5.133 1.488 +5 24 5.904 -5.187 1.317 5.981 -5.245 1.354 5.799 -5.245 1.402 6.016 -5.101 1.281 +5 24 -1.528 -5 3.884 -1.501 -5.133 3.884 -1.556 -5 4.028 -1.446 -5 3.762 +5 24 4.383 -5.055 -4.649 4.392 -5 -4.655 4.521 -5.101 -4.646 4.257 -5 -4.598 +5 24 -0.916 -5.265 5.527 0.928 -5.265 3.845 -1.038 -5.346 5.803 -0.835 -5.144 5.343 +5 24 3.789 -5 -1.281 3.794 -5.144 -1.309 3.935 -5 -1.283 3.653 -5 -1.336 +5 24 -4.815 -5.265 3.493 -4.774 -5.245 3.633 -4.926 -5.346 3.544 -4.741 -5.144 3.46 +5 24 -1.08 -5.101 3.681 -1.049 -5.055 3.681 -0.994 -5.187 3.762 -1.181 -5 3.653 +5 24 -1.181 -5.265 6.393 -1.08 -5.265 6.373 -1.181 -5.144 6.474 -1.181 -5.346 6.271 +2 24 1.465 -5 3.884 1.494 -5 4.028 +5 24 -4.057 -5.346 1.305 -3.985 -5.375 1.115 -3.365 -5.346 2.839 -4.707 -5.346 1.598 +5 24 4.118 -5.101 -4.368 4.164 -5.055 -4.499 4.165 -5.187 -4.401 4.101 -5 -4.357 +5 24 3.835 -5 -3.446 3.961 -5.055 -3.498 3.935 -5.101 -3.48 3.97 -5 -3.504 +5 24 -5.495 -5.346 -2.476 -5.395 -5.265 -2.407 -5.586 -5.32 -2.365 -4.951 -5.346 -3.263 +5 24 -0.865 -5.101 -5.115 -0.744 -5.133 -5.19 -0.865 -5 -5.135 -0.865 -5.187 -5.058 +5 24 -0.936 -5.245 3.884 -0.916 -5.265 4.028 -0.861 -5.133 3.884 -1.049 -5.32 3.884 +5 24 4.809 -5.245 3.82 4.817 -5.133 3.914 4.901 -5.265 3.864 4.732 -5.187 3.783 +5 24 0.865 -5.101 -4.625 0.865 -5 -4.605 0.946 -5.055 -4.737 0.744 -5.133 -4.55 +5 24 5.07 -5.187 3.944 5.175 -5.245 3.859 4.993 -5.245 3.907 5.122 -5.101 3.969 +5 24 4.053 -5.144 -1.365 4.069 -5 -1.341 5.701 -5.144 -2.498 3.929 -5.144 -1.311 +5 24 -1.181 -5.375 6.128 -1.181 -5.346 6.271 -1.236 -5.346 6.26 -1.126 -5.346 6.26 +5 24 2.671 -5.133 -3.472 2.709 -5.101 -3.498 2.755 -5.245 -3.431 2.609 -5 -3.464 +2 24 5.708 -5 1.359 5.833 -5 1.284 +5 24 -5.867 -5.346 1.807 -4.045 -5.346 0.984 -5.917 -5.265 1.696 -4.897 -5.375 1.526 +5 24 0.854 -5.265 6.128 0.975 -5.346 6.128 0.874 -5.245 6.271 0.854 -5.265 4.631 +5 24 -4.568 -5.346 2.603 -4.499 -5.32 2.73 -4.437 -5.375 2.544 -4.679 -5.265 2.653 +5 24 -0.975 -5 -4.87 -0.946 -5.101 -4.769 -0.946 -5.133 -4.815 -0.946 -5.055 -4.737 +2 24 1.262 -5 6.474 1.384 -5 6.393 +5 24 3.898 -5.265 -3.356 3.981 -5.245 -3.413 3.967 -5.346 -3.255 3.852 -5.144 -3.423 +5 24 -1.446 -5.265 4.028 -1.325 -5.346 4.028 -1.446 -5.265 6.128 -1.426 -5.245 3.884 +5 24 -5.826 -5 -2.25 -5.727 -5.101 -2.215 -5.765 -5.133 -2.242 -5.701 -5.055 -2.198 +2 24 3.653 -5 -1.336 3.789 -5 -1.281 +5 24 2.517 -5.187 -3.268 2.588 -5.245 -3.316 2.539 -5.245 -3.135 2.542 -5.101 -3.383 +5 24 3.13 -5.055 1.658 3.155 -5.101 1.794 3.143 -5.101 1.629 3.125 -5 1.667 +5 24 0.6 -5.375 -4.87 0.744 -5.346 -4.87 0.6 -5.346 -4.726 0.6 -5.346 -5.014 +5 24 -3.748 -5.144 0.862 -3.67 -5.144 0.972 -3.804 -5.265 0.921 -3.729 -5 0.841 +5 24 -5.171 -5.101 3.945 -5.118 -5.187 3.921 -5.289 -5.133 3.865 -5.035 -5.055 3.973 +5 24 6.12 -5 1.299 6.157 -5.133 1.348 6.108 -5.144 1.324 6.199 -5.101 1.368 +5 24 -3.041 -5.133 3.073 -2.999 -5.101 3.054 -3.032 -5.245 2.98 -3.08 -5 3.121 +5 24 4.588 -5.346 -4.37 4.688 -5.265 -4.439 5.623 -5.346 -2.865 4.498 -5.32 -4.482 +5 24 1.119 -5.346 3.884 1.119 -5.265 3.762 1.064 -5.346 3.895 1.174 -5.346 3.895 +5 24 5.795 -5.144 -2.595 5.819 -5 -2.579 5.846 -5.144 -2.72 5.701 -5.144 -2.498 +5 24 -5.372 -5.144 3.745 -5.289 -5.133 3.865 -5.298 -5.265 3.712 -5.398 -5 3.757 +5 24 0.744 -5.346 -4.87 0.744 -5.32 -5.003 0.865 -5.265 -4.87 0.6 -5.375 -4.87 +5 24 -2.921 -5.245 -2.33 -2.853 -5.187 -2.214 -2.985 -5.32 -2.238 -2.878 -5.133 -2.392 +5 24 -4.121 -5.144 2.402 -4.086 -5.133 2.543 -4.196 -5.265 2.435 -4.095 -5 2.39 +2 24 -3.111 -5 -1.842 -2.975 -5 -1.895 +5 24 -1.236 -5.346 6.26 -1.181 -5.375 6.128 -1.283 -5.346 6.229 -1.181 -5.346 6.271 +5 24 3.508 -5.133 1.336 3.649 -5.144 1.374 3.475 -5.245 1.404 3.519 -5 1.312 +5 24 3.733 -5 -3.341 3.742 -5.055 -3.348 3.679 -5 -3.206 3.835 -5 -3.446 +5 24 -0.6 -5.144 -5.216 -0.6 -5 -5.245 -0.744 -5.133 -5.19 0.6 -5.144 -5.216 +5 24 5.732 -5.133 1.37 5.852 -5.101 1.293 5.799 -5.245 1.402 5.708 -5 1.359 +5 24 1.064 -5.346 3.895 1.119 -5.346 3.884 1.017 -5.265 3.783 1.119 -5.375 4.028 +5 24 5.981 -5.245 1.354 6.058 -5.133 1.301 6.073 -5.265 1.398 5.904 -5.187 1.317 +5 24 3.835 -5 -3.446 3.935 -5.101 -3.48 3.897 -5.133 -3.454 3.961 -5.055 -3.498 +5 24 -4.121 -5.144 2.402 -4.095 -5 2.39 -4.086 -5.133 2.543 -4.438 -5.144 1.7 +5 24 -4.08 -5.101 -4.594 -4.056 -5.187 -4.478 -4.119 -5.133 -4.621 -4.055 -5.055 -4.577 +2 24 6.237 -5 1.386 6.312 -5 1.512 +5 24 1.22 -5.346 3.926 1.306 -5.265 3.84 1.251 -5.346 3.973 1.174 -5.346 3.895 +5 24 -4.551 -5.101 2.887 -4.499 -5.187 2.863 -4.67 -5.133 2.807 -4.416 -5.055 2.915 +5 24 -4.157 -5.187 2.709 -4.155 -5.245 2.574 -4.236 -5.245 2.744 -4.105 -5.101 2.685 +5 24 -4.328 -5.265 2.786 -4.236 -5.245 2.744 -4.378 -5.346 2.675 -4.295 -5.144 2.86 +5 24 4.702 -5.144 3.476 5.025 -5.144 2.795 4.775 -5.265 3.51 4.676 -5 3.463 +5 24 -0.6 -5.346 -4.726 -0.6 -5.265 -4.605 -0.744 -5.32 -4.737 0.6 -5.346 -4.726 +2 24 -4.14 -5 0.773 -3.997 -5 0.74 +5 24 5.981 -5.245 1.354 6.073 -5.265 1.398 5.901 -5.32 1.451 6.058 -5.133 1.301 +5 24 4.007 -5.265 -1.432 4.053 -5.144 -1.365 3.912 -5.265 -1.391 5.655 -5.265 -2.565 +2 24 5.309 -5 2.131 5.62 -5 1.476 +5 24 -3.103 -5.346 2.721 -2.992 -5.265 2.671 -3.855 -5.346 1.056 -3.054 -5.32 2.856 +5 24 -0.744 -5.346 -4.87 -0.744 -5.32 -5.003 -0.865 -5.265 -4.87 -0.6 -5.375 -4.87 +5 24 -3.222 -5 3.155 -3.212 -5.055 3.15 -3.366 -5 3.13 -3.08 -5 3.121 +5 24 -5.68 -5.245 -2.282 -5.61 -5.187 -2.233 -5.586 -5.32 -2.365 -5.765 -5.133 -2.242 +5 24 -5.898 -5.144 -2.755 -4.646 -5.144 -4.564 -5.831 -5.265 -2.709 -5.921 -5 -2.771 +2 24 0.865 -5 -4.605 0.946 -5 -4.726 +5 24 2.826 -5.187 -3.48 2.942 -5.245 -3.413 2.755 -5.245 -3.431 2.873 -5.101 -3.513 +5 24 -2.821 -5.101 -2.261 -2.809 -5 -2.278 -2.818 -5.055 -2.122 -2.878 -5.133 -2.392 +5 24 -5.61 -5.187 -2.233 -5.493 -5.245 -2.301 -5.68 -5.245 -2.282 -5.562 -5.101 -2.201 +5 24 -2.954 -5.187 2.944 -2.901 -5.101 2.921 -2.951 -5.245 2.81 -2.999 -5.101 3.054 +5 24 -1.501 -5.133 3.884 -1.426 -5.245 3.884 -1.528 -5.144 4.028 -1.426 -5.101 3.762 +5 24 -3.199 -5.245 -1.928 -3.135 -5.32 -2.02 -3.067 -5.187 -1.906 -3.329 -5.265 -1.993 +5 24 -4.245 -5.133 2.837 -4.236 -5.245 2.744 -4.295 -5.144 2.86 -4.202 -5.101 2.818 +5 24 -3.994 -5.265 0.85 -3.99 -5.346 0.971 -4.095 -5.265 0.873 -3.892 -5.265 0.867 +5 24 3.852 -5.144 -3.423 3.897 -5.133 -3.454 3.898 -5.265 -3.356 3.835 -5 -3.446 +5 24 -4.295 -5.144 2.86 -4.283 -5 2.886 -4.345 -5.133 2.883 -4.245 -5.133 2.837 +5 24 0.854 -5 6.393 0.874 -5.101 6.393 0.772 -5 6.271 0.975 -5 6.474 +5 24 3.703 -5.133 -3.074 3.762 -5.144 -2.941 3.765 -5.245 -3.117 3.681 -5 -3.059 +5 24 5.505 -5.375 -2.783 5.623 -5.346 -2.865 5.645 -5.346 -2.813 4.47 -5.375 -4.289 +5 24 1.262 -5.346 6.128 1.384 -5.265 6.128 1.262 -5.346 4.028 1.251 -5.32 6.271 +5 24 -1.369 -5.265 6.315 -1.283 -5.346 6.229 -1.426 -5.265 6.229 -1.283 -5.265 6.373 +5 24 3.004 -5.133 -3.455 3.026 -5 -3.47 3.107 -5.144 -3.352 2.873 -5.101 -3.513 +5 24 -0.865 -5.187 -5.058 -0.865 -5.101 -5.115 -0.946 -5.101 -4.971 -0.744 -5.245 -5.115 +5 24 2.704 -5.346 -3.074 3.739 -5.346 -1.569 2.603 -5.265 -3.005 2.822 -5.375 -3.155 +5 24 5.83 -5.346 1.576 5.901 -5.32 1.451 5.959 -5.375 1.637 5.72 -5.265 1.523 +5 24 -4.551 -5.101 2.887 -4.416 -5.055 2.915 -4.499 -5.187 2.863 -4.57 -5 2.895 +5 24 4.052 -5.187 -3.462 4.168 -5.245 -3.394 3.981 -5.245 -3.413 4.1 -5.101 -3.495 +5 24 4.279 -5.32 -4.332 4.389 -5.346 -4.407 4.352 -5.346 -4.207 4.236 -5.245 -4.45 +5 24 -3.863 -5.144 0.791 -3.748 -5.144 0.862 -3.892 -5.265 0.867 -3.853 -5 0.764 +2 24 2.455 -5 -3.077 2.513 -5 -2.943 +5 24 -6.056 -5.265 1.844 -5.943 -5.346 1.887 -6.073 -5.265 1.946 -6.002 -5.265 1.756 +2 24 -5.35 -5.144 2.111 -5.312 -5 2.126 +5 24 -4.283 -5 2.886 -4.245 -5.133 2.837 -4.295 -5.144 2.86 -4.202 -5.101 2.818 +5 24 0.6 -5.144 -5.216 0.6 -5 -5.245 0.744 -5.133 -5.19 -0.6 -5.144 -5.216 +5 24 3.265 -5.245 1.846 3.386 -5.265 1.926 3.313 -5.32 1.745 3.233 -5.133 1.914 +5 24 3.743 -5.187 -3.25 3.768 -5.101 -3.365 3.814 -5.245 -3.298 3.696 -5.101 -3.217 +5 24 -0.946 -5.133 -4.815 -0.946 -5.101 -4.769 -0.865 -5.245 -4.769 -0.975 -5 -4.87 +5 24 3.961 -5.055 -3.498 3.97 -5 -3.504 4.1 -5.101 -3.495 3.835 -5 -3.446 +5 24 4.521 -5.101 -4.646 4.538 -5 -4.657 4.652 -5.133 -4.588 4.383 -5.055 -4.649 +5 24 1.439 -5.144 3.895 1.465 -5.144 4.028 1.465 -5 3.884 1.364 -5.265 3.926 +5 24 4.732 -5.187 3.783 4.775 -5.101 3.894 4.809 -5.245 3.82 4.68 -5.101 3.759 +5 24 -4.055 -5.055 -4.577 -4.009 -5.101 -4.446 -4.08 -5.101 -4.594 -4.046 -5 -4.57 +5 24 4.775 -5.265 3.51 5.134 -5.265 2.756 4.885 -5.346 3.563 4.702 -5.144 3.476 +5 24 -1.426 -5.144 6.373 -1.369 -5.265 6.315 -1.501 -5.144 6.26 -1.314 -5.144 6.448 +5 24 -5.804 -5.32 -2.515 -5.731 -5.346 -2.64 -5.695 -5.346 -2.44 -5.896 -5.245 -2.579 +5 24 -3.054 -5.32 2.856 -3.032 -5.245 2.98 -2.951 -5.245 2.81 -3.175 -5.346 2.91 +5 24 -5.943 -5.346 1.887 -5.913 -5.346 1.839 -6.056 -5.265 1.844 -5.808 -5.375 1.938 +5 24 6.12 -5 1.299 6.199 -5.101 1.368 6.157 -5.133 1.348 6.228 -5.055 1.381 +5 24 5.419 -5.346 2.44 5.83 -5.346 1.576 5.487 -5.375 2.631 5.361 -5.265 2.277 +2 24 -2.965 -5 -2.519 -2.863 -5 -2.414 +5 24 -4.236 -5.245 2.744 -4.157 -5.187 2.709 -4.257 -5.32 2.621 -4.245 -5.133 2.837 +5 24 -1.181 -5 3.653 -1.08 -5.101 3.681 -1.049 -5.055 3.681 -1.126 -5.133 3.681 +5 24 -1.446 -5.265 4.028 -1.426 -5.245 3.884 -1.528 -5.144 4.028 -1.325 -5.346 4.028 +2 24 3.661 -5 1.348 5.309 -5 2.131 +2 24 -1.038 -5 3.681 -0.916 -5 3.762 +5 24 0.6 -5.375 -4.87 0.6 -5.346 -5.014 0.744 -5.346 -4.87 -0.6 -5.375 -4.87 +5 24 2.942 -5.245 -3.413 3.04 -5.265 -3.306 2.85 -5.32 -3.349 3.004 -5.133 -3.455 +5 24 5.901 -5.32 1.451 6.021 -5.346 1.508 5.83 -5.346 1.576 5.981 -5.245 1.354 +5 24 -4.499 -5.187 2.863 -4.387 -5.101 2.902 -4.421 -5.245 2.828 -4.551 -5.101 2.887 +5 24 0.799 -5.133 6.271 0.874 -5.245 6.271 0.772 -5.144 6.128 0.874 -5.101 6.393 +5 24 -0.946 -5.055 -4.737 -0.946 -5 -4.726 -0.865 -5.101 -4.625 -0.975 -5 -4.87 +5 24 -5.982 -5 -2.491 -5.965 -5.101 -2.479 -5.98 -5 -2.637 -5.928 -5 -2.355 +5 24 -4.196 -5.265 2.435 -4.121 -5.144 2.402 -4.155 -5.245 2.574 -4.546 -5.265 1.659 +5 24 3.571 -5.144 -1.454 3.638 -5.265 -1.5 3.668 -5.144 -1.36 2.536 -5.144 -2.959 +5 24 -2.918 -5.144 2.637 -2.892 -5 2.625 -3.67 -5.144 0.972 -2.883 -5.133 2.779 +5 24 -4.209 -5.133 -4.683 -4.164 -5.144 -4.652 -4.294 -5.245 -4.643 -4.148 -5 -4.675 +5 24 2.542 -5.101 -3.383 2.609 -5 -3.464 2.58 -5.133 -3.41 2.516 -5.055 -3.366 +5 24 -4.998 -5.346 3.733 -4.948 -5.265 3.844 -5.118 -5.32 3.788 -4.877 -5.32 3.679 +5 24 -2.969 -5.055 -1.904 -2.951 -5.101 -1.93 -3.099 -5.101 -1.858 -2.87 -5 -1.997 +5 24 4.168 -5.245 -3.394 4.23 -5.133 -3.437 4.266 -5.265 -3.287 4.052 -5.187 -3.462 +2 24 -3.995 -5 -4.288 -3.992 -5 -4.434 +5 24 -0.865 -5.245 -4.769 -0.744 -5.32 -4.737 -0.865 -5.265 -4.87 -0.865 -5.187 -4.683 +5 24 -0.744 -5.245 -5.115 -0.6 -5.265 -5.135 -0.744 -5.133 -5.19 -0.744 -5.32 -5.003 +5 24 -3.184 -5.101 3.137 -3.141 -5.133 3.118 -3.296 -5.187 3.099 -3.08 -5 3.121 +5 24 -6.05 -5.265 2.047 -5.298 -5.265 3.712 -5.939 -5.346 1.997 -6.124 -5.144 2.08 +5 24 3.829 -5.265 -2.987 4.312 -5.265 -2.285 3.762 -5.144 -2.941 3.93 -5.346 -3.056 +2 24 -3.222 -5 3.155 -3.08 -5 3.121 +5 24 2.542 -5.101 -3.383 2.58 -5.133 -3.41 2.517 -5.187 -3.268 2.609 -5 -3.464 +5 24 -5.045 -5 3.977 -5.035 -5.055 3.973 -5.189 -5 3.953 -4.902 -5 3.944 +5 24 -0.861 -5.133 3.884 -0.835 -5.144 4.028 -0.835 -5 3.884 -0.936 -5.245 3.884 +5 24 5.645 -5.346 -2.813 5.764 -5.265 -2.838 5.646 -5.346 -2.757 5.623 -5.346 -2.865 +5 24 -5.939 -5.346 1.997 -5.187 -5.346 3.662 -6.05 -5.265 2.047 -5.808 -5.375 1.938 +5 24 3.93 -5.346 -3.056 4.481 -5.346 -2.254 4.048 -5.375 -3.137 3.829 -5.265 -2.987 +5 24 3.143 -5.101 1.629 3.18 -5.187 1.742 3.163 -5.133 1.587 3.13 -5.055 1.658 +5 24 -3.466 -5.133 3.042 -3.398 -5.245 3.011 -3.55 -5.144 2.922 -3.348 -5.101 3.122 +5 24 5.623 -5.346 -2.865 5.645 -5.346 -2.813 5.723 -5.265 -2.934 5.505 -5.375 -2.783 +5 24 2.516 -5.055 -3.366 2.609 -5 -3.464 2.542 -5.101 -3.383 2.507 -5 -3.36 +5 24 -4.897 -5.375 1.526 -4.707 -5.346 1.598 -3.985 -5.375 1.115 -4.437 -5.375 2.544 +5 24 -4.951 -5.346 -3.263 -3.26 -5.346 -2.093 -4.987 -5.375 -3.463 -4.92 -5.265 -3.094 +5 24 -0.865 -5.245 -4.971 -0.744 -5.32 -5.003 -0.865 -5.187 -5.058 -0.865 -5.265 -4.87 +5 24 3.638 -5.265 -1.5 3.712 -5.265 -1.428 3.739 -5.346 -1.569 3.571 -5.144 -1.454 +5 24 -0.975 -5 -4.87 -0.946 -5.133 -4.815 -0.946 -5.144 -4.87 -0.946 -5.101 -4.769 +5 24 -3.375 -5.144 -1.926 -3.329 -5.265 -1.993 -3.242 -5.133 -1.866 -4.899 -5.144 -2.981 +5 24 4.68 -5.101 3.759 4.746 -5.055 3.88 4.732 -5.187 3.783 4.662 -5 3.75 +5 24 6.199 -5.265 1.751 6.272 -5.144 1.786 6.242 -5.245 1.613 5.254 -5.265 3.738 +5 24 -3.067 -5.187 -1.906 -2.951 -5.101 -1.93 -3.018 -5.245 -1.976 -3.099 -5.101 -1.858 +2 24 3.97 -5 -3.504 4.116 -5 -3.506 +5 24 4.052 -5.187 -3.462 4.1 -5.101 -3.495 4.168 -5.245 -3.394 3.935 -5.101 -3.48 +5 24 -4.388 -5.32 -4.561 -4.279 -5.346 -4.485 -4.479 -5.346 -4.449 -4.294 -5.245 -4.643 +2 24 2.89 -5 -3.524 3.026 -5 -3.47 +5 24 1.174 -5.346 3.895 1.22 -5.265 3.783 1.119 -5.346 3.884 1.22 -5.346 3.926 +2 24 -4.546 -5.265 1.659 -4.438 -5.144 1.7 +5 24 4.986 -5.055 3.994 4.996 -5 3.999 5.122 -5.101 3.969 4.854 -5 3.963 +5 24 3.679 -5 -3.206 3.696 -5.101 -3.217 3.681 -5 -3.059 3.733 -5 -3.341 +2 24 -5.982 -5 -2.491 -5.928 -5 -2.355 +5 24 4.251 -5.265 -4.138 5.136 -5.265 -2.852 4.352 -5.346 -4.207 4.184 -5.144 -4.092 +5 24 0.6 -5.346 -5.014 0.6 -5.265 -5.135 0.744 -5.32 -5.003 -0.6 -5.346 -5.014 +5 24 -5.81 -5.144 -2.273 -5.765 -5.133 -2.242 -5.764 -5.265 -2.34 -5.826 -5 -2.25 +5 24 -5.765 -5.133 -2.242 -5.727 -5.101 -2.215 -5.68 -5.245 -2.282 -5.826 -5 -2.25 +5 24 -0.936 -5.101 3.762 -0.916 -5 3.762 -0.861 -5.133 3.884 -1.049 -5.055 3.681 +5 24 3.548 -5 -1.438 3.571 -5.144 -1.454 3.653 -5 -1.336 2.513 -5 -2.943 +2 24 4.749 -5.265 -2.586 4.77 -5.144 -2.699 +2 24 5.134 -5.265 2.756 5.296 -5.346 2.699 +5 24 4.958 -5.101 3.981 5.07 -5.187 3.944 4.916 -5.133 3.961 4.986 -5.055 3.994 +5 24 -4.387 -5.101 2.902 -4.283 -5 2.886 -4.345 -5.133 2.883 -4.416 -5.055 2.915 +5 24 3.938 -5.346 -1.532 4.007 -5.265 -1.432 3.887 -5.346 -1.51 5.586 -5.346 -2.665 +5 24 -0.946 -5.055 -5.003 -0.946 -5 -5.014 -0.865 -5.101 -5.115 -0.975 -5 -4.87 +5 24 -6.155 -5.144 1.948 -6.132 -5.144 1.815 -6.073 -5.265 1.946 -6.183 -5 1.949 +5 24 -1.08 -5.245 3.762 -1.049 -5.32 3.884 -0.994 -5.187 3.762 -1.181 -5.265 3.762 +5 24 -6.05 -5.265 2.047 -5.939 -5.346 1.997 -6.073 -5.265 1.946 -5.298 -5.265 3.712 +5 24 1.119 -5.375 4.028 1.174 -5.346 3.895 1.119 -5.346 3.884 1.22 -5.346 3.926 +5 24 5.655 -5.265 -2.565 5.701 -5.144 -2.498 5.727 -5.265 -2.639 4.007 -5.265 -1.432 +2 24 5.819 -5 -2.579 5.874 -5 -2.715 +2 24 0.772 -5 6.271 0.854 -5 6.393 +5 24 -5.847 -5.245 -2.398 -5.764 -5.265 -2.34 -5.804 -5.32 -2.515 -5.855 -5.133 -2.304 +2 24 4.159 -5 -2.314 4.199 -5.144 -2.306 +5 24 2.539 -5.245 -3.135 2.631 -5.32 -3.199 2.603 -5.265 -3.005 2.517 -5.187 -3.268 +5 24 -4.787 -5.346 -3.499 -4.243 -5.346 -4.285 -4.987 -5.375 -3.463 -4.618 -5.265 -3.53 +5 24 6.31 -5.133 1.645 6.334 -5 1.656 6.272 -5.144 1.786 6.294 -5.101 1.503 +5 24 1.251 -5.144 3.708 1.364 -5.144 3.783 1.262 -5 3.681 1.22 -5.265 3.783 +5 24 -0.936 -5.245 3.884 -0.861 -5.133 3.884 -0.916 -5.265 4.028 -0.994 -5.187 3.762 +5 24 -3.141 -5.133 3.118 -3.091 -5.144 3.095 -3.217 -5.245 3.063 -3.08 -5 3.121 +5 24 -4.753 -5.144 2.687 -4.67 -5.133 2.807 -4.679 -5.265 2.653 -4.779 -5 2.699 +5 24 1.384 -5.265 4.028 1.384 -5.265 6.128 1.465 -5.144 4.028 1.262 -5.346 4.028 +5 24 1.251 -5.055 6.474 1.262 -5 6.474 1.364 -5.101 6.393 1.119 -5 6.503 +5 24 5.959 -5.375 1.637 6.089 -5.346 1.699 6.021 -5.346 1.508 5.487 -5.375 2.631 +5 24 -2.893 -5.144 -2.013 -2.87 -5 -1.997 -2.862 -5.133 -2.059 -2.924 -5.133 -1.968 +5 24 -1.426 -5.144 6.373 -1.314 -5.144 6.448 -1.446 -5 6.393 -1.369 -5.265 6.315 +5 24 0.975 -5.346 4.355 0.975 -5.346 6.128 0.854 -5.265 4.631 1.119 -5.375 4.028 +5 24 -3.234 -5.375 2.78 -3.103 -5.346 2.721 -3.175 -5.346 2.91 -3.985 -5.375 1.115 +2 24 -0.916 -5.265 5.527 -0.835 -5.144 5.343 +5 24 4.184 -5.144 -4.092 5.023 -5.144 -2.873 4.251 -5.265 -4.138 4.161 -5 -4.076 +5 24 4.737 -5 3.876 4.746 -5.055 3.88 4.662 -5 3.75 4.854 -5 3.963 +5 24 0.975 -5.346 4.355 1.119 -5.375 4.028 -1.085 -5.346 6.234 0.975 -5.346 6.128 +2 24 0.865 -5 -5.135 0.946 -5 -5.014 +5 24 -4.143 -5.265 -4.216 -4.076 -5.144 -4.17 -4.078 -5.245 -4.346 -4.618 -5.265 -3.53 +2 24 5.62 -5 1.476 5.708 -5 1.359 +5 24 -1.049 -5.32 3.884 -1.038 -5.346 4.028 -0.936 -5.245 3.884 -1.181 -5.346 3.884 +5 24 1.119 -5 6.503 1.251 -5.055 6.474 1.262 -5 6.474 1.22 -5.101 6.474 +2 24 -4.164 -5 2.801 -4.086 -5 2.677 +5 24 -4.364 -5.187 -4.692 -4.247 -5.101 -4.71 -4.294 -5.245 -4.643 -4.412 -5.101 -4.725 +5 24 -4.579 -5.265 -4.518 -4.479 -5.346 -4.449 -5.831 -5.265 -2.709 -4.481 -5.245 -4.625 +5 24 -3.55 -5.144 2.922 -3.475 -5.265 2.889 -3.466 -5.133 3.042 -4.158 -5.144 1.573 +5 24 -1.369 -5.187 3.762 -1.283 -5.101 3.681 -1.426 -5.101 3.762 -1.283 -5.245 3.762 +5 24 3.712 -5.265 -1.428 3.779 -5.346 -1.53 3.809 -5.265 -1.389 3.638 -5.265 -1.5 +5 24 -3.217 -5.245 3.063 -3.125 -5.265 3.021 -3.296 -5.32 2.965 -3.141 -5.133 3.118 +2 24 5.814 -5 -2.996 5.872 -5 -2.861 +5 24 -2.96 -5.265 -2.06 -2.893 -5.144 -2.013 -2.902 -5.245 -2.143 -3.018 -5.245 -1.976 +5 24 4.257 -5 -4.598 4.274 -5.144 -4.574 4.319 -5.133 -4.605 4.228 -5.133 -4.543 +2 24 3.946 -5.144 -2.132 3.953 -5 -2.172 +5 24 -4.17 -5.32 -4.41 -4.078 -5.245 -4.346 -4.243 -5.346 -4.285 -4.127 -5.245 -4.527 +5 24 -5.826 -5 -2.25 -5.765 -5.133 -2.242 -5.81 -5.144 -2.273 -5.727 -5.101 -2.215 +5 24 -1.501 -5.133 3.884 -1.426 -5.101 3.762 -1.528 -5 3.884 -1.426 -5.245 3.884 +5 24 -4.076 -5.144 -4.17 -4.053 -5 -4.154 -4.016 -5.133 -4.303 -4.505 -5.144 -3.55 +2 24 3.339 -5 2.025 4.987 -5 2.808 +5 24 -2.96 -5.265 -2.06 -2.902 -5.245 -2.143 -2.893 -5.144 -2.013 -3.06 -5.346 -2.129 +5 24 5.144 -5.346 3.686 5.254 -5.265 3.738 6.089 -5.346 1.699 5.073 -5.32 3.811 +5 24 1.22 -5.245 6.393 1.306 -5.188 6.393 1.251 -5.32 6.271 1.174 -5.133 6.474 +5 24 2.47 -5.101 -3.235 2.477 -5.133 -3.092 2.517 -5.187 -3.268 2.453 -5 -3.224 +5 24 3.961 -5.055 -3.498 4.1 -5.101 -3.495 3.935 -5.101 -3.48 3.97 -5 -3.504 +2 24 5.833 -5 1.284 5.978 -5 1.263 +5 24 -2.992 -5.265 2.671 -2.951 -5.245 2.81 -3.103 -5.346 2.721 -2.918 -5.144 2.637 +5 24 -4.543 -5.133 -4.667 -4.481 -5.245 -4.625 -4.646 -5.144 -4.564 -4.412 -5.101 -4.725 +5 24 4.274 -5.144 -4.574 4.32 -5.265 -4.507 4.319 -5.133 -4.605 4.228 -5.133 -4.543 +5 24 4.854 -5 3.963 4.866 -5.144 3.937 4.916 -5.133 3.961 4.817 -5.133 3.914 +5 24 1.384 -5.265 6.128 1.465 -5.144 6.128 1.384 -5.265 4.028 1.364 -5.245 6.271 +5 24 4.236 -5.245 -4.45 4.279 -5.32 -4.332 4.32 -5.265 -4.507 4.165 -5.187 -4.401 +5 24 -4.646 -5.144 -4.564 -4.579 -5.265 -4.518 -5.898 -5.144 -2.755 -4.543 -5.133 -4.667 +5 24 0.874 -5.101 6.393 0.931 -5.188 6.393 0.799 -5.133 6.271 0.986 -5.055 6.474 +5 24 3.18 -5.187 1.742 3.265 -5.245 1.846 3.217 -5.245 1.664 3.155 -5.101 1.794 +5 24 4.076 -5.32 -3.331 4.166 -5.346 -3.219 3.967 -5.346 -3.255 4.168 -5.245 -3.394 +5 24 0.6 -5.346 -4.726 0.6 -5.265 -4.605 0.744 -5.32 -4.737 -0.6 -5.346 -4.726 +5 24 -5.007 -5.101 3.96 -4.964 -5.133 3.941 -5.118 -5.187 3.921 -4.902 -5 3.944 +5 24 4.59 -5.245 -4.546 4.688 -5.265 -4.439 4.498 -5.32 -4.482 4.652 -5.133 -4.588 +5 24 -3.985 -5.375 1.115 -3.887 -5.346 1.01 -3.935 -5.346 0.98 -3.855 -5.346 1.056 +2 24 4.77 -5.144 -2.699 4.777 -5 -2.739 +5 24 0.865 -5.265 -4.87 0.865 -5.245 -4.971 0.744 -5.346 -4.87 0.946 -5.144 -4.87 +2 24 3.679 -5 -3.206 3.681 -5 -3.059 +5 24 5.988 -5.055 1.267 6.12 -5 1.299 6.016 -5.101 1.281 5.978 -5 1.263 +2 24 -3.08 -5 3.121 -2.96 -5 3.036 +5 24 -4.157 -5.187 2.709 -4.105 -5.101 2.685 -4.155 -5.245 2.574 -4.202 -5.101 2.818 +5 24 0.931 -5.188 6.393 1.017 -5.101 6.474 0.874 -5.101 6.393 1.017 -5.245 6.393 +2 24 2.507 -5 -3.36 2.609 -5 -3.464 +2 24 -5.07 -5.144 1.985 -5.029 -5.265 1.877 +5 24 -5.398 -5 3.757 -5.372 -5.144 3.745 -6.15 -5 2.092 -5.313 -5 3.876 +5 24 -5.289 -5.133 3.865 -5.221 -5.245 3.834 -5.372 -5.144 3.745 -5.171 -5.101 3.945 +5 24 6.294 -5.101 1.503 6.31 -5.133 1.645 6.242 -5.187 1.478 6.312 -5 1.512 +2 24 -1.528 -5 6.271 -1.446 -5 6.393 +5 24 -4.822 -5.101 3.877 -4.793 -5.055 3.864 -4.777 -5.187 3.767 -4.902 -5 3.944 +5 24 -5.731 -5.346 -2.64 -4.479 -5.346 -4.449 -5.831 -5.265 -2.709 -4.987 -5.375 -3.463 +5 24 -3.855 -5.346 1.056 -3.744 -5.265 1.006 -3.887 -5.346 1.01 -3.103 -5.346 2.721 +5 24 0.865 -5.245 -4.971 0.865 -5.187 -5.058 0.744 -5.32 -5.003 0.946 -5.133 -4.925 +2 24 2.453 -5 -3.224 2.507 -5 -3.36 +5 24 4.007 -5.265 -1.432 5.655 -5.265 -2.565 3.938 -5.346 -1.532 4.053 -5.144 -1.365 +5 24 -1.236 -5.133 3.681 -1.181 -5.144 3.681 -1.283 -5.245 3.762 -1.181 -5 3.653 +5 24 -4.741 -5.144 3.46 -4.715 -5 3.448 -4.706 -5.133 3.602 -5.35 -5.144 2.111 +2 24 -0.806 -5 4.028 -0.806 -5 5.278 +5 24 5.646 -5.144 1.489 5.732 -5.133 1.37 5.72 -5.265 1.523 5.62 -5 1.476 +5 24 3.366 -5.101 1.351 3.374 -5 1.333 3.244 -5.055 1.418 3.508 -5.133 1.336 +5 24 -4.283 -5 2.886 -4.174 -5.055 2.806 -4.202 -5.101 2.818 -4.164 -5 2.801 +5 24 0.871 -5.144 3.787 0.986 -5.144 3.708 0.851 -5 3.767 0.928 -5.265 3.845 +5 24 0.6 -5.144 -5.216 0.744 -5.133 -5.19 0.6 -5 -5.245 0.6 -5.265 -5.135 +5 24 3.739 -5 -2.925 3.762 -5.144 -2.941 3.681 -5 -3.059 4.159 -5 -2.314 +5 24 0.744 -5.346 -4.87 0.744 -5.32 -4.737 0.6 -5.375 -4.87 0.865 -5.265 -4.87 +2 24 -4.465 -5 -3.558 -2.965 -5 -2.519 +5 24 6.294 -5.101 1.503 6.312 -5 1.512 6.31 -5.133 1.645 6.228 -5.055 1.381 +5 24 -1.426 -5.101 3.762 -1.369 -5.187 3.762 -1.501 -5.133 3.884 -1.314 -5.055 3.681 +5 24 -4.897 -5.375 1.526 -4.045 -5.346 0.984 -5.867 -5.346 1.807 -3.985 -5.375 1.115 +5 24 1.22 -5.265 3.783 1.251 -5.144 3.708 1.119 -5.265 3.762 1.306 -5.265 3.84 +5 24 -2.853 -5.187 -2.214 -2.821 -5.101 -2.261 -2.835 -5.101 -2.097 -2.921 -5.245 -2.33 +2 24 -5.618 -5.346 2.01 -5.457 -5.265 2.071 +2 24 3.835 -5 -3.446 3.97 -5 -3.504 +5 24 -5.328 -5.144 -2.361 -5.305 -5 -2.345 -5.431 -5.133 -2.258 -4.899 -5.144 -2.981 +5 24 -1.126 -5.346 6.26 -1.085 -5.346 6.234 -1.181 -5.375 6.128 -1.08 -5.265 6.373 +5 24 0.986 -5.32 6.271 1.119 -5.346 6.271 0.975 -5.346 6.128 1.017 -5.245 6.393 +5 24 2.672 -5.265 -3.374 2.74 -5.346 -3.274 2.588 -5.245 -3.316 2.755 -5.245 -3.431 +5 24 -1.369 -5.265 6.315 -1.283 -5.265 6.373 -1.426 -5.144 6.373 -1.283 -5.346 6.229 +5 24 3.304 -5.245 1.481 3.427 -5.32 1.505 3.26 -5.265 1.573 3.341 -5.187 1.403 +5 24 -5.586 -5.32 -2.365 -5.495 -5.346 -2.476 -5.695 -5.346 -2.44 -5.493 -5.245 -2.301 +2 24 -0.946 -5 -5.014 -0.865 -5 -5.135 +5 24 3.161 -5 1.526 3.231 -5.101 1.446 3.211 -5.133 1.488 3.244 -5.055 1.418 +5 24 -1.528 -5.144 4.028 -1.446 -5.265 4.028 -1.528 -5.144 6.128 -1.501 -5.133 3.884 +5 24 -6.061 -5.144 1.7 -5.951 -5.144 1.622 -6.002 -5.265 1.756 -6.082 -5 1.681 +5 24 -0.744 -5.32 -4.737 -0.6 -5.346 -4.726 -0.744 -5.346 -4.87 -0.744 -5.245 -4.625 +5 24 0.744 -5.346 -4.87 0.865 -5.265 -4.87 0.744 -5.32 -4.737 0.744 -5.32 -5.003 +5 24 -4.707 -5.346 1.598 -4.306 -5.346 2.485 -4.897 -5.375 1.526 -4.546 -5.265 1.659 +5 24 3.929 -5.144 -1.311 3.935 -5 -1.283 3.794 -5.144 -1.309 4.053 -5.144 -1.365 +5 24 0.799 -5.133 6.271 0.874 -5.101 6.393 0.772 -5 6.271 0.874 -5.245 6.271 +5 24 -3.067 -5.187 -1.906 -3.018 -5.245 -1.976 -2.951 -5.101 -1.93 -3.199 -5.245 -1.928 +5 24 -6.082 -5 1.681 -6.061 -5.144 1.7 -6.159 -5 1.805 -5.963 -5 1.596 +2 24 -5.029 -5.265 1.877 -4.968 -5.346 1.716 +5 24 4.901 -5.265 3.864 4.993 -5.245 3.907 4.953 -5.346 3.754 4.866 -5.144 3.937 +5 24 4.732 -5.187 3.783 4.809 -5.245 3.82 4.732 -5.245 3.649 4.775 -5.101 3.894 +5 24 3.638 -5.265 -1.5 3.739 -5.346 -1.569 3.712 -5.265 -1.428 2.603 -5.265 -3.005 +5 24 4.279 -5.32 -4.332 4.352 -5.346 -4.207 4.389 -5.346 -4.407 4.187 -5.245 -4.268 +2 24 3.374 -5 1.333 3.519 -5 1.312 +5 24 -5.118 -5.187 3.921 -5.007 -5.101 3.96 -5.04 -5.245 3.886 -5.171 -5.101 3.945 +5 24 -1.181 -5.375 4.028 -1.181 -5.375 6.128 -1.325 -5.346 4.028 -1.038 -5.346 4.028 +2 24 4.674 -5 -4.603 4.779 -5 -4.501 +5 24 -3.178 -5.375 -2.211 -3.096 -5.346 -2.329 -3.06 -5.346 -2.129 -4.987 -5.375 -3.463 +5 24 -5.952 -5.346 1.942 -5.943 -5.346 1.887 -6.073 -5.265 1.946 -5.808 -5.375 1.938 +5 24 4.103 -5 -4.211 4.125 -5.133 -4.226 4.161 -5 -4.076 4.101 -5 -4.357 +2 24 -4.053 -5 -4.154 -3.995 -5 -4.288 +5 24 0.744 -5.245 -5.115 0.865 -5.187 -5.058 0.744 -5.133 -5.19 0.744 -5.32 -5.003 +2 24 -0.916 -5 3.762 -0.835 -5 3.884 +5 24 5.625 -5.346 -2.705 5.646 -5.346 -2.757 5.727 -5.265 -2.639 5.505 -5.375 -2.783 +5 24 4.834 -5.32 3.697 4.953 -5.346 3.754 4.885 -5.346 3.563 4.809 -5.245 3.82 +5 24 -4.505 -5.144 -3.55 -4.076 -5.144 -4.17 -4.618 -5.265 -3.53 -4.465 -5 -3.558 +5 24 -5.695 -5.346 -2.44 -5.586 -5.32 -2.365 -5.613 -5.375 -2.558 -5.764 -5.265 -2.34 +5 24 4.125 -5.133 -4.226 4.187 -5.245 -4.268 4.184 -5.144 -4.092 4.118 -5.101 -4.368 +5 24 2.603 -5.265 -3.005 2.704 -5.346 -3.074 3.638 -5.265 -1.5 2.539 -5.245 -3.135 +5 24 -1.126 -5.133 3.681 -1.08 -5.245 3.762 -1.08 -5.101 3.681 -1.181 -5.144 3.681 +5 24 -4.282 -5 -4.734 -4.273 -5.055 -4.727 -4.428 -5 -4.736 -4.148 -5 -4.675 +5 24 3.809 -5.265 -1.389 3.912 -5.265 -1.391 3.831 -5.346 -1.509 3.794 -5.144 -1.309 +5 24 -4.926 -5.346 3.544 -4.815 -5.265 3.493 -4.877 -5.32 3.679 -5.618 -5.346 2.01 +5 24 4.19 -5.101 -4.517 4.257 -5 -4.598 4.228 -5.133 -4.543 4.164 -5.055 -4.499 +5 24 -3.475 -5.265 2.889 -3.365 -5.346 2.839 -3.398 -5.245 3.011 -4.118 -5.265 1.466 +5 24 2.517 -5.187 -3.268 2.539 -5.245 -3.135 2.588 -5.245 -3.316 2.47 -5.101 -3.235 +5 24 -1.528 -5.144 4.028 -1.528 -5.144 6.128 -1.556 -5 4.028 -1.446 -5.265 4.028 +2 24 0.975 -5 3.681 1.119 -5 3.653 +5 24 -4.295 -5.144 2.86 -4.245 -5.133 2.837 -4.328 -5.265 2.786 -4.283 -5 2.886 +5 24 -3.985 -5.375 1.115 -3.234 -5.375 2.78 -3.855 -5.346 1.056 -4.057 -5.346 1.305 +5 24 -3.935 -5.346 0.98 -3.887 -5.346 1.01 -3.892 -5.265 0.867 -3.985 -5.375 1.115 +5 24 3.475 -5.245 1.404 3.508 -5.133 1.336 3.341 -5.187 1.403 3.614 -5.265 1.447 +5 24 -4.601 -5.245 2.776 -4.499 -5.32 2.73 -4.679 -5.265 2.653 -4.499 -5.187 2.863 +5 24 -0.6 -5.144 -5.216 0.6 -5.144 -5.216 -0.6 -5.265 -5.135 -0.6 -5 -5.245 +2 24 5.141 -5 3.978 5.266 -5 3.903 +5 24 0.772 -5.144 6.128 0.854 -5.265 6.128 0.799 -5.133 6.271 0.772 -5.144 4.815 +5 24 4.165 -5.187 -4.401 4.187 -5.245 -4.268 4.236 -5.245 -4.45 4.118 -5.101 -4.368 +5 24 -5.831 -5.265 -2.709 -4.579 -5.265 -4.518 -5.731 -5.346 -2.64 -5.898 -5.144 -2.755 +5 24 -4.902 -5 3.944 -4.864 -5.133 3.896 -4.914 -5.144 3.918 -4.822 -5.101 3.877 +5 24 3.143 -5.101 1.629 3.163 -5.133 1.587 3.18 -5.187 1.742 3.161 -5 1.526 +5 24 -1.556 -5 6.128 -1.528 -5.144 6.128 -1.528 -5 6.271 -1.556 -5 4.028 +5 24 5.723 -5.265 -2.934 5.79 -5.144 -2.98 5.764 -5.265 -2.838 4.688 -5.265 -4.439 +5 24 3.18 -5.187 1.742 3.217 -5.245 1.664 3.143 -5.101 1.629 3.265 -5.245 1.846 +5 24 6.199 -5.101 1.368 6.228 -5.055 1.381 6.242 -5.187 1.478 6.12 -5 1.299 +5 24 3.814 -5.245 -3.298 3.898 -5.265 -3.356 3.857 -5.32 -3.18 3.806 -5.133 -3.392 +5 24 -4.815 -5.265 3.493 -4.741 -5.144 3.46 -4.774 -5.245 3.633 -5.457 -5.265 2.071 +2 24 -6.15 -5 2.092 -5.398 -5 3.757 +5 24 5.79 -5.144 -2.98 5.814 -5 -2.996 5.844 -5.144 -2.855 4.755 -5.144 -4.485 +5 24 -5.457 -5.265 2.071 -5.029 -5.265 1.877 -5.618 -5.346 2.01 -5.35 -5.144 2.111 +5 24 3.155 -5.101 1.794 3.18 -5.187 1.742 3.13 -5.055 1.658 3.233 -5.133 1.914 +5 24 3.571 -5.144 -1.454 3.668 -5.144 -1.36 3.638 -5.265 -1.5 3.548 -5 -1.438 +5 24 3.187 -5.144 1.538 3.26 -5.265 1.573 3.163 -5.133 1.587 3.211 -5.133 1.488 +2 24 -5.084 -5 2.023 -4.779 -5 2.699 +5 24 -4.21 -5.265 -4.585 -4.127 -5.245 -4.527 -4.279 -5.346 -4.485 -4.164 -5.144 -4.652 +5 24 0.772 -5.144 4.815 0.772 -5.144 6.128 0.744 -5 4.879 0.854 -5.265 4.631 +5 24 3.427 -5.32 1.505 3.562 -5.346 1.557 3.37 -5.346 1.625 3.475 -5.245 1.404 +5 24 1.439 -5.133 6.271 1.465 -5.144 6.128 1.465 -5 6.271 1.364 -5.245 6.271 +5 24 5.844 -5.144 -2.855 5.872 -5 -2.861 5.846 -5.144 -2.72 5.79 -5.144 -2.98 +2 24 2.609 -5 -3.464 2.744 -5 -3.522 +5 24 -5.939 -5.346 1.997 -5.808 -5.375 1.938 -5.952 -5.346 1.942 -5.187 -5.346 3.662 +5 24 -4.128 -5.144 0.799 -3.996 -5.144 0.768 -4.095 -5.265 0.873 -4.14 -5 0.773 +5 24 -5.826 -5 -2.25 -5.701 -5.055 -2.198 -5.727 -5.101 -2.215 -5.692 -5 -2.191 +5 24 -3.804 -5.265 0.921 -3.744 -5.265 1.006 -3.887 -5.346 1.01 -3.748 -5.144 0.862 +2 24 -5.826 -5 -2.25 -5.692 -5 -2.191 +5 24 1.174 -5.133 6.474 1.22 -5.101 6.474 1.22 -5.245 6.393 1.119 -5 6.503 +5 24 6.021 -5.346 1.508 6.073 -5.265 1.398 6.14 -5.32 1.565 5.901 -5.32 1.451 +5 24 2.626 -5.144 -3.441 2.671 -5.133 -3.472 2.672 -5.265 -3.374 2.609 -5 -3.464 +5 24 -4.105 -5.101 2.685 -4.086 -5 2.677 -4.086 -5.133 2.543 -4.174 -5.055 2.806 +5 24 -2.87 -5 -1.997 -2.818 -5.055 -2.122 -2.835 -5.101 -2.097 -2.811 -5 -2.131 +5 24 6.016 -5.101 1.281 6.058 -5.133 1.301 5.904 -5.187 1.317 6.12 -5 1.299 +5 24 -4.345 -5.133 2.883 -4.283 -5 2.886 -4.295 -5.144 2.86 -4.387 -5.101 2.902 +2 24 1.262 -5 3.681 1.384 -5 3.762 +5 24 5.144 -5.346 3.686 5.487 -5.375 2.631 6.089 -5.346 1.699 5.015 -5.375 3.624 +5 24 4.866 -5.144 3.937 4.916 -5.133 3.961 4.901 -5.265 3.864 4.854 -5 3.963 +5 24 4.986 -5.055 3.994 5.122 -5.101 3.969 4.958 -5.101 3.981 4.996 -5 3.999 +5 24 -0.6 -5.265 -4.605 0.6 -5.265 -4.605 -0.6 -5.144 -4.524 -0.6 -5.346 -4.726 +5 24 -2.999 -5.101 3.054 -2.97 -5.055 3.041 -2.954 -5.187 2.944 -3.08 -5 3.121 +5 24 5.764 -5.265 -2.838 5.766 -5.265 -2.735 5.645 -5.346 -2.813 5.844 -5.144 -2.855 +5 24 -5.896 -5.245 -2.579 -5.831 -5.265 -2.709 -5.804 -5.32 -2.515 -5.958 -5.133 -2.622 +2 24 4.538 -5 -4.657 4.674 -5 -4.603 +5 24 -5.04 -5.245 3.886 -4.948 -5.265 3.844 -5.118 -5.32 3.788 -4.964 -5.133 3.941 +5 24 4.187 -5.245 -4.268 4.251 -5.265 -4.138 4.279 -5.32 -4.332 4.125 -5.133 -4.226 +5 24 -4.499 -5.32 2.73 -4.378 -5.346 2.675 -4.568 -5.346 2.603 -4.421 -5.245 2.828 +5 24 0.975 -5 6.474 0.986 -5.055 6.474 0.854 -5 6.393 1.119 -5 6.503 +5 24 6.14 -5.32 1.565 6.242 -5.245 1.613 6.089 -5.346 1.699 6.165 -5.245 1.441 +2 24 -0.6 -5 -5.245 0.6 -5 -5.245 +5 24 5.625 -5.346 -2.705 5.727 -5.265 -2.639 5.646 -5.346 -2.757 5.586 -5.346 -2.665 +5 24 6.021 -5.346 1.508 6.14 -5.32 1.565 5.959 -5.375 1.637 6.073 -5.265 1.398 +2 24 -2.87 -5 -1.997 -2.811 -5 -2.131 +5 24 -1.314 -5.346 6.183 -1.283 -5.346 6.229 -1.426 -5.265 6.229 -1.181 -5.375 6.128 +5 24 6.165 -5.245 1.441 6.242 -5.187 1.478 6.14 -5.32 1.565 6.157 -5.133 1.348 +5 24 -4.499 -5.32 2.73 -4.421 -5.245 2.828 -4.378 -5.346 2.675 -4.601 -5.245 2.776 +5 24 -3.125 -5.265 3.021 -3.091 -5.144 3.095 -3.032 -5.245 2.98 -3.217 -5.245 3.063 +5 24 -1.369 -5.187 3.762 -1.283 -5.245 3.762 -1.426 -5.245 3.884 -1.283 -5.101 3.681 +5 24 -4.421 -5.245 2.828 -4.328 -5.265 2.786 -4.499 -5.32 2.73 -4.345 -5.133 2.883 +5 24 3.155 -5.101 1.794 3.233 -5.133 1.914 3.18 -5.187 1.742 3.147 -5 1.812 +5 24 -4.078 -5.245 -4.346 -4.056 -5.187 -4.478 -4.17 -5.32 -4.41 -4.016 -5.133 -4.303 +5 24 -0.975 -5 -4.87 -0.946 -5.055 -5.003 -0.946 -5 -5.014 -0.946 -5.101 -4.971 +5 24 -0.946 -5.101 -4.769 -0.946 -5.055 -4.737 -0.865 -5.187 -4.683 -0.975 -5 -4.87 +5 24 0.744 -5.133 -5.19 0.744 -5 -5.216 0.6 -5.144 -5.216 0.865 -5.101 -5.115 +2 24 4.252 -5 -3.452 4.357 -5 -3.35 +5 24 -5.919 -5.055 -2.349 -5.826 -5 -2.25 -5.894 -5.101 -2.331 -5.928 -5 -2.355 +5 24 -4.164 -5.144 -4.652 -4.119 -5.133 -4.621 -4.21 -5.265 -4.585 -4.148 -5 -4.675 +2 24 -3.366 -5 3.13 -3.222 -5 3.155 +5 24 3.313 -5.32 1.745 3.37 -5.346 1.625 3.217 -5.245 1.664 3.438 -5.346 1.816 +5 24 -5.81 -5.144 -2.273 -5.764 -5.265 -2.34 -5.855 -5.133 -2.304 -5.765 -5.133 -2.242 +5 24 3.222 -5 1.938 3.233 -5.133 1.914 3.147 -5 1.812 3.339 -5 2.025 +2 24 3.249 -5 1.408 3.374 -5 1.333 +5 24 -4.247 -5.101 -4.71 -4.209 -5.133 -4.683 -4.364 -5.187 -4.692 -4.148 -5 -4.675 +5 24 -4.257 -5.32 2.621 -4.155 -5.245 2.574 -4.306 -5.346 2.485 -4.236 -5.245 2.744 +5 24 3.893 -5.346 -1.85 4.481 -5.346 -2.254 3.857 -5.375 -1.65 3.925 -5.265 -2.019 +5 24 6.073 -5.265 1.398 6.108 -5.144 1.324 6.165 -5.245 1.441 5.981 -5.245 1.354 +5 24 -4.741 -5.144 3.46 -4.706 -5.133 3.602 -4.815 -5.265 3.493 -4.715 -5 3.448 +5 24 -3.887 -5.346 1.01 -3.804 -5.265 0.921 -3.935 -5.346 0.98 -3.855 -5.346 1.056 +5 24 1.119 -5.144 3.681 1.119 -5 3.653 0.986 -5.144 3.708 1.251 -5.144 3.708 +5 24 -3.103 -5.346 2.721 -3.054 -5.32 2.856 -2.992 -5.265 2.671 -3.234 -5.375 2.78 +5 24 4.854 -5 3.963 4.986 -5.055 3.994 4.958 -5.101 3.981 4.996 -5 3.999 +5 24 3.5 -5.375 1.687 3.562 -5.346 1.557 3.37 -5.346 1.625 5.487 -5.375 2.631 +5 24 -1.181 -5.346 3.884 -1.049 -5.32 3.884 -1.181 -5.375 4.028 -1.181 -5.265 3.762 +5 24 1.119 -5.346 6.271 1.251 -5.32 6.271 1.119 -5.375 6.128 1.119 -5.265 6.393 +5 24 4.681 -5.375 -2.217 4.717 -5.346 -2.417 4.048 -5.375 -3.137 5.505 -5.375 -2.783 +5 24 3.768 -5.101 -3.365 3.835 -5 -3.446 3.806 -5.133 -3.392 3.742 -5.055 -3.348 +5 24 4.228 -5.133 -4.543 4.236 -5.245 -4.45 4.274 -5.144 -4.574 4.19 -5.101 -4.517 +5 24 5.328 -5.144 3.773 6.272 -5.144 1.786 5.254 -5.265 3.738 5.354 -5 3.785 +2 24 1.465 -5 6.271 1.494 -5 6.128 +5 24 4.809 -5.245 3.82 4.901 -5.265 3.864 4.834 -5.32 3.697 4.817 -5.133 3.914 +5 24 -1.126 -5.346 6.26 -1.08 -5.265 6.373 -1.181 -5.346 6.271 -1.085 -5.346 6.234 +5 24 2.603 -5.265 -3.005 3.638 -5.265 -1.5 2.704 -5.346 -3.074 2.536 -5.144 -2.959 +2 24 4.64 -5 3.605 4.662 -5 3.75 +5 24 4.59 -5.245 -4.546 4.652 -5.133 -4.588 4.688 -5.265 -4.439 4.474 -5.187 -4.613 +5 24 0.874 -5.245 6.271 0.986 -5.32 6.271 0.854 -5.265 6.128 0.931 -5.188 6.393 +5 24 6.242 -5.245 1.613 6.31 -5.133 1.645 6.199 -5.265 1.751 6.242 -5.187 1.478 +5 24 6.12 -5 1.299 6.228 -5.055 1.381 6.199 -5.101 1.368 6.237 -5 1.386 +5 24 -0.835 -5.144 5.343 0.871 -5.144 3.787 -0.806 -5 5.278 -0.916 -5.265 5.527 +5 24 3.765 -5.245 -3.117 3.857 -5.32 -3.18 3.829 -5.265 -2.987 3.743 -5.187 -3.25 +5 24 -5.867 -5.346 1.807 -5.808 -5.375 1.938 -5.913 -5.346 1.839 -4.897 -5.375 1.526 +5 24 -5.808 -5.375 1.938 -5.618 -5.346 2.01 -5.057 -5.375 3.603 -4.897 -5.375 1.526 +5 24 -3.175 -5.346 2.91 -3.054 -5.32 2.856 -3.234 -5.375 2.78 -3.125 -5.265 3.021 +5 24 -6.155 -5.144 1.948 -6.073 -5.265 1.946 -6.132 -5.144 1.815 -6.124 -5.144 2.08 +5 24 3.696 -5.101 -3.217 3.703 -5.133 -3.074 3.743 -5.187 -3.25 3.679 -5 -3.206 +5 24 -0.6 -5.265 -4.605 -0.6 -5.144 -4.524 -0.744 -5.245 -4.625 0.6 -5.265 -4.605 +5 24 5.122 -5.101 3.969 5.141 -5 3.978 5.242 -5.133 3.891 4.986 -5.055 3.994 +5 24 -2.835 -5.101 -2.097 -2.818 -5.055 -2.122 -2.853 -5.187 -2.214 -2.87 -5 -1.997 +5 24 -1.426 -5.245 3.884 -1.314 -5.32 3.884 -1.446 -5.265 4.028 -1.369 -5.187 3.762 +5 24 -5.952 -5.346 1.942 -5.939 -5.346 1.997 -6.073 -5.265 1.946 -5.808 -5.375 1.938 +5 24 -5.057 -5.375 3.603 -4.998 -5.346 3.733 -5.187 -5.346 3.662 -4.926 -5.346 3.544 +5 24 -3.096 -5.346 -2.329 -2.985 -5.32 -2.238 -3.178 -5.375 -2.211 -3.027 -5.265 -2.429 +2 24 -4.706 -5 3.735 -4.682 -5 3.591 +5 24 -3.935 -5.346 0.98 -3.892 -5.265 0.867 -3.99 -5.346 0.971 -3.887 -5.346 1.01 +2 24 3.681 -5 -3.059 3.739 -5 -2.925 +5 24 4.953 -5.346 3.754 5.073 -5.32 3.811 5.015 -5.375 3.624 4.901 -5.265 3.864 +5 24 -4.17 -5.32 -4.41 -4.127 -5.245 -4.527 -4.279 -5.346 -4.485 -4.078 -5.245 -4.346 +5 24 3.897 -5.133 -3.454 3.981 -5.245 -3.413 3.852 -5.144 -3.423 3.935 -5.101 -3.48 +2 24 -1.556 -5 4.028 -1.556 -5 6.128 +5 24 4.076 -5.32 -3.331 4.168 -5.245 -3.394 4.166 -5.346 -3.219 3.981 -5.245 -3.413 +5 24 2.74 -5.346 -3.274 2.85 -5.32 -3.349 2.822 -5.375 -3.155 2.672 -5.265 -3.374 +5 24 -2.902 -5.245 -2.143 -2.853 -5.187 -2.214 -2.862 -5.133 -2.059 -2.985 -5.32 -2.238 +5 24 -2.985 -5.32 -2.238 -2.902 -5.245 -2.143 -3.06 -5.346 -2.129 -2.921 -5.245 -2.33 +2 24 5.023 -5.144 -2.873 5.136 -5.265 -2.852 +5 24 2.822 -5.375 -3.155 3.857 -5.375 -1.65 2.704 -5.346 -3.074 2.94 -5.346 -3.237 +2 24 0.946 -5 -4.726 0.975 -5 -4.87 +5 24 4.688 -5.265 -4.439 4.755 -5.144 -4.485 5.723 -5.265 -2.934 4.59 -5.245 -4.546 +5 24 -4.481 -5.245 -4.625 -4.364 -5.187 -4.692 -4.388 -5.32 -4.561 -4.543 -5.133 -4.667 +5 24 4.817 -5.133 3.914 4.854 -5 3.963 4.866 -5.144 3.937 4.775 -5.101 3.894 +5 24 4.1 -5.101 -3.495 4.23 -5.133 -3.437 4.052 -5.187 -3.462 4.116 -5 -3.506 +5 24 0.946 -5.055 -5.003 0.975 -5 -4.87 0.946 -5 -5.014 0.946 -5.101 -4.971 +5 24 5.323 -5.144 2.169 5.646 -5.144 1.489 5.361 -5.265 2.277 5.309 -5 2.131 +5 24 3.438 -5.346 1.816 3.5 -5.375 1.687 3.313 -5.32 1.745 5.296 -5.346 2.699 +5 24 5.844 -5.144 -2.855 5.846 -5.144 -2.72 5.764 -5.265 -2.838 5.872 -5 -2.861 +5 24 -5.958 -5.133 -2.622 -5.896 -5.245 -2.579 -5.898 -5.144 -2.755 -5.965 -5.101 -2.479 +5 24 -5.919 -5.055 -2.349 -5.894 -5.101 -2.331 -5.965 -5.101 -2.479 -5.826 -5 -2.25 +2 24 -4.046 -5 -4.57 -3.992 -5 -4.434 +5 24 -4.294 -5.245 -4.643 -4.21 -5.265 -4.585 -4.388 -5.32 -4.561 -4.209 -5.133 -4.683 +5 24 4.652 -5.133 -4.588 4.674 -5 -4.603 4.755 -5.144 -4.485 4.521 -5.101 -4.646 +5 24 3.925 -5.265 -2.019 4.312 -5.265 -2.285 3.893 -5.346 -1.85 3.946 -5.144 -2.132 +5 24 -5.189 -5 3.953 -5.171 -5.101 3.945 -5.313 -5 3.876 -5.045 -5 3.977 +5 24 1.017 -5.101 6.474 1.064 -5.133 6.474 0.931 -5.188 6.393 1.119 -5 6.503 +2 24 5.872 -5 -2.861 5.874 -5 -2.715 +5 24 4.101 -5 -4.357 4.118 -5.101 -4.368 4.103 -5 -4.211 4.155 -5 -4.493 +5 24 4.77 -5.144 -2.699 5.023 -5.144 -2.873 4.749 -5.265 -2.586 4.777 -5 -2.739 +5 24 -4.243 -5.346 -4.285 -4.17 -5.32 -4.41 -4.361 -5.375 -4.367 -4.143 -5.265 -4.216 +5 24 -4.618 -5.265 -3.53 -3.027 -5.265 -2.429 -4.787 -5.346 -3.499 -4.505 -5.144 -3.55 +5 24 -3.67 -5.144 0.972 -2.918 -5.144 2.637 -3.744 -5.265 1.006 -3.644 -5 0.96 +2 24 -5.546 -5 -2.189 -5.41 -5 -2.243 +5 24 -3.027 -5.265 -2.429 -2.921 -5.245 -2.33 -3.096 -5.346 -2.329 -2.981 -5.144 -2.496 +5 24 -0.865 -5.101 -4.625 -0.865 -5 -4.605 -0.946 -5.055 -4.737 -0.744 -5.133 -4.55 +2 24 -4.505 -5.144 -3.55 -4.465 -5 -3.558 +5 24 -4.328 -5.265 2.786 -4.295 -5.144 2.86 -4.421 -5.245 2.828 -4.236 -5.245 2.744 +5 24 3.562 -5.346 1.557 3.614 -5.265 1.447 3.427 -5.32 1.505 5.419 -5.346 2.44 +5 24 3.163 -5.133 1.587 3.187 -5.144 1.538 3.217 -5.245 1.664 3.161 -5 1.526 +5 24 -4.822 -5.101 3.877 -4.777 -5.187 3.767 -4.864 -5.133 3.896 -4.793 -5.055 3.864 +5 24 0.986 -5.144 3.708 1.017 -5.265 3.783 1.119 -5.144 3.681 0.871 -5.144 3.787 +5 24 -6.155 -5.144 1.948 -6.124 -5.144 2.08 -6.073 -5.265 1.946 -6.183 -5 1.949 +5 24 1.22 -5.101 6.474 1.251 -5.055 6.474 1.306 -5.188 6.393 1.119 -5 6.503 +2 24 0.854 -5.265 4.631 0.975 -5.346 4.355 +5 24 -2.97 -5.055 3.041 -2.901 -5.101 2.921 -2.999 -5.101 3.054 -2.96 -5 3.036 +5 24 -0.6 -5.144 -4.524 0.6 -5.144 -4.524 -0.6 -5 -4.495 -0.6 -5.265 -4.605 +5 24 0.865 -5.187 -4.683 0.946 -5.101 -4.769 0.865 -5.245 -4.769 0.865 -5.101 -4.625 +2 24 4.101 -5 -4.357 4.103 -5 -4.211 +5 24 -3.996 -5.144 0.768 -3.994 -5.265 0.85 -4.128 -5.144 0.799 -3.863 -5.144 0.791 +5 24 -5.963 -5 1.596 -5.951 -5.144 1.622 -6.082 -5 1.681 -4.14 -5 0.773 +5 24 0.744 -5.32 -5.003 0.865 -5.245 -4.971 0.744 -5.245 -5.115 0.744 -5.346 -4.87 +5 24 -1.426 -5.245 3.884 -1.369 -5.187 3.762 -1.501 -5.133 3.884 -1.314 -5.32 3.884 +5 24 5.764 -5.265 -2.838 5.844 -5.144 -2.855 5.766 -5.265 -2.735 5.723 -5.265 -2.934 +5 24 -4.968 -5.346 1.716 -4.568 -5.346 2.603 -5.029 -5.265 1.877 -4.897 -5.375 1.526 +5 24 2.453 -5 -3.224 2.47 -5.101 -3.235 2.455 -5 -3.077 2.507 -5 -3.36 +5 24 -3.091 -5.144 3.095 -3.08 -5 3.121 -3.041 -5.133 3.073 -3.141 -5.133 3.118 +5 24 2.58 -5.133 -3.41 2.609 -5 -3.464 2.542 -5.101 -3.383 2.626 -5.144 -3.441 +5 24 3.835 -5 -3.446 3.852 -5.144 -3.423 3.897 -5.133 -3.454 3.806 -5.133 -3.392 +5 24 -1.283 -5.245 3.762 -1.236 -5.133 3.681 -1.369 -5.187 3.762 -1.181 -5.265 3.762 +5 24 4.236 -5.245 -4.45 4.32 -5.265 -4.507 4.279 -5.32 -4.332 4.228 -5.133 -4.543 +5 24 1.017 -5.265 3.783 1.064 -5.346 3.895 1.119 -5.265 3.762 0.928 -5.265 3.845 +5 24 -5.395 -5.265 -2.407 -4.92 -5.265 -3.094 -5.495 -5.346 -2.476 -5.328 -5.144 -2.361 +2 24 -2.96 -5 3.036 -2.883 -5 2.912 +5 24 -5.495 -5.346 -2.476 -4.951 -5.346 -3.263 -5.613 -5.375 -2.558 -5.395 -5.265 -2.407 +5 24 1.119 -5.375 4.028 1.119 -5.346 3.884 1.064 -5.346 3.895 1.174 -5.346 3.895 +2 24 -4.401 -5 1.714 -4.095 -5 2.39 +5 24 2.704 -5.346 -3.074 2.822 -5.375 -3.155 2.631 -5.32 -3.199 3.739 -5.346 -1.569 +5 24 6.089 -5.346 1.699 6.14 -5.32 1.565 5.959 -5.375 1.637 6.199 -5.265 1.751 +5 24 -3.375 -5.144 -1.926 -3.242 -5.133 -1.866 -3.329 -5.265 -1.993 -3.391 -5 -1.902 +5 24 -1.314 -5.055 3.681 -1.181 -5 3.653 -1.325 -5 3.681 -1.283 -5.101 3.681 +5 24 2.536 -5.144 -2.959 2.603 -5.265 -3.005 3.571 -5.144 -1.454 2.477 -5.133 -3.092 +5 24 -3.184 -5.101 3.137 -3.08 -5 3.121 -3.141 -5.133 3.118 -3.212 -5.055 3.15 +5 24 -4.855 -5.245 3.803 -4.777 -5.187 3.767 -4.877 -5.32 3.679 -4.864 -5.133 3.896 +5 24 -4.987 -5.375 -3.463 -4.951 -5.346 -3.263 -5.613 -5.375 -2.558 -3.178 -5.375 -2.211 +5 24 -3.887 -5.346 1.01 -3.855 -5.346 1.056 -3.804 -5.265 0.921 -3.985 -5.375 1.115 +5 24 3.233 -5.133 1.914 3.265 -5.245 1.846 3.155 -5.101 1.794 3.351 -5.144 1.999 +5 24 -0.744 -5.133 -4.55 -0.6 -5.144 -4.524 -0.744 -5.245 -4.625 -0.744 -5 -4.524 +5 24 3.211 -5.133 1.488 3.231 -5.101 1.446 3.304 -5.245 1.481 3.161 -5 1.526 +5 24 4.664 -5.133 3.617 4.702 -5.144 3.476 4.732 -5.245 3.649 4.64 -5 3.605 +5 24 4.1 -5.101 -3.495 4.116 -5 -3.506 4.23 -5.133 -3.437 3.961 -5.055 -3.498 +5 24 -0.744 -5.245 -4.625 -0.6 -5.265 -4.605 -0.744 -5.32 -4.737 -0.744 -5.133 -4.55 +5 24 -4.777 -5.187 3.767 -4.724 -5.101 3.743 -4.774 -5.245 3.633 -4.822 -5.101 3.877 +5 24 -4.864 -5.133 3.896 -4.822 -5.101 3.877 -4.855 -5.245 3.803 -4.902 -5 3.944 +2 24 -3.853 -5 0.764 -3.729 -5 0.841 +5 24 4.125 -5.133 -4.226 4.184 -5.144 -4.092 4.187 -5.245 -4.268 4.103 -5 -4.211 +5 24 -5.118 -5.32 3.788 -5.04 -5.245 3.886 -5.221 -5.245 3.834 -4.998 -5.346 3.733 +5 24 2.672 -5.265 -3.374 2.755 -5.245 -3.431 2.74 -5.346 -3.274 2.626 -5.144 -3.441 +5 24 -0.946 -5.144 -4.87 -0.865 -5.265 -4.87 -0.946 -5.133 -4.815 -0.946 -5.133 -4.925 +5 24 5.645 -5.346 -2.813 5.646 -5.346 -2.757 5.764 -5.265 -2.838 5.505 -5.375 -2.783 +5 24 4.333 -5.144 -3.334 4.77 -5.144 -2.699 4.266 -5.265 -3.287 4.357 -5 -3.35 +5 24 -4.877 -5.32 3.679 -4.774 -5.245 3.633 -4.926 -5.346 3.544 -4.855 -5.245 3.803 +5 24 2.94 -5.346 -3.237 3.04 -5.265 -3.306 2.85 -5.32 -3.349 3.893 -5.346 -1.85 +2 24 -1.181 -5 3.653 -1.038 -5 3.681 +5 24 3.857 -5.375 -1.65 4.681 -5.375 -2.217 3.893 -5.346 -1.85 3.938 -5.346 -1.532 +5 24 -0.865 -5.265 -4.87 -0.865 -5.245 -4.971 -0.946 -5.144 -4.87 -0.744 -5.346 -4.87 +2 24 -5.189 -5 3.953 -5.045 -5 3.977 +5 24 -3.855 -5.346 1.056 -3.103 -5.346 2.721 -3.744 -5.265 1.006 -3.985 -5.375 1.115 +5 24 -1.181 -5.265 3.762 -1.08 -5.245 3.762 -1.181 -5.346 3.884 -1.181 -5.144 3.681 +2 24 4.312 -5.265 -2.285 4.481 -5.346 -2.254 +5 24 -4.564 -5 -4.682 -4.543 -5.133 -4.667 -4.669 -5 -4.58 -4.428 -5 -4.736 +5 24 3.946 -5.144 -2.132 4.199 -5.144 -2.306 3.925 -5.265 -2.019 3.953 -5 -2.172 +5 24 4.498 -5.32 -4.482 4.59 -5.245 -4.546 4.588 -5.346 -4.37 4.403 -5.245 -4.565 +2 24 -5.928 -5 -2.355 -5.826 -5 -2.25 +5 24 -1.181 -5.144 3.681 -1.126 -5.133 3.681 -1.181 -5.265 3.762 -1.181 -5 3.653 +2 24 5.025 -5.144 2.795 5.134 -5.265 2.756 +5 24 1.22 -5.346 3.926 1.251 -5.346 3.973 1.306 -5.265 3.84 1.119 -5.375 4.028 +5 24 2.671 -5.133 -3.472 2.755 -5.245 -3.431 2.626 -5.144 -3.441 2.709 -5.101 -3.498 +5 24 -3.863 -5.144 0.791 -3.853 -5 0.764 -3.996 -5.144 0.768 -3.748 -5.144 0.862 +5 24 -1.181 -5.375 6.128 -1.038 -5.346 5.803 -1.181 -5.375 4.028 1.119 -5.375 4.028 +5 24 -3.491 -5 3.053 -3.466 -5.133 3.042 -3.576 -5 2.934 -3.366 -5 3.13 +5 24 0.874 -5.101 6.393 0.986 -5.055 6.474 0.854 -5 6.393 0.931 -5.188 6.393 +5 24 0.854 -5.265 4.631 0.854 -5.265 6.128 0.772 -5.144 4.815 0.975 -5.346 4.355 +5 24 -5.894 -5.101 -2.331 -5.826 -5 -2.25 -5.855 -5.133 -2.304 -5.919 -5.055 -2.349 +5 24 -5.951 -5.144 1.622 -5.917 -5.265 1.696 -6.061 -5.144 1.7 -4.128 -5.144 0.799 +5 24 0.6 -5.144 -4.524 0.6 -5 -4.495 0.744 -5.133 -4.55 -0.6 -5.144 -4.524 +5 24 -4.479 -5.346 -4.449 -4.361 -5.375 -4.367 -4.388 -5.32 -4.561 -4.987 -5.375 -3.463 +5 24 -1.325 -5.346 4.028 -1.325 -5.346 6.128 -1.446 -5.265 4.028 -1.181 -5.375 4.028 +5 24 2.588 -5.245 -3.316 2.631 -5.32 -3.199 2.517 -5.187 -3.268 2.672 -5.265 -3.374 +5 24 -1.08 -5.265 6.373 -1.049 -5.144 6.448 -1.181 -5.265 6.393 -1.003 -5.265 6.324 +2 24 -3.491 -5 3.053 -3.366 -5 3.13 +5 24 2.477 -5.133 -3.092 2.539 -5.245 -3.135 2.536 -5.144 -2.959 2.47 -5.101 -3.235 +5 24 -3.996 -5.144 0.768 -3.863 -5.144 0.791 -3.994 -5.265 0.85 -3.997 -5 0.74 +2 24 0.6 -5 -5.245 0.744 -5 -5.216 +5 24 -5.764 -5.265 -2.34 -5.68 -5.245 -2.282 -5.695 -5.346 -2.44 -5.81 -5.144 -2.273 +5 24 -2.883 -5.133 2.779 -2.859 -5 2.768 -2.918 -5.144 2.637 -2.901 -5.101 2.921 +5 24 -3.217 -5.245 3.063 -3.141 -5.133 3.118 -3.125 -5.265 3.021 -3.296 -5.187 3.099 +5 24 5.254 -5.265 3.738 5.328 -5.144 3.773 6.199 -5.265 1.751 5.175 -5.245 3.859 +5 24 5.505 -5.375 -2.783 5.646 -5.346 -2.757 5.645 -5.346 -2.813 5.625 -5.346 -2.705 +2 24 -5.313 -5 3.876 -5.189 -5 3.953 +5 24 -4.67 -5.133 2.807 -4.601 -5.245 2.776 -4.753 -5.144 2.687 -4.551 -5.101 2.887 +5 24 2.735 -5.055 -3.516 2.873 -5.101 -3.513 2.709 -5.101 -3.498 2.744 -5 -3.522 +5 24 1.119 -5.265 3.762 1.119 -5.144 3.681 1.017 -5.265 3.783 1.22 -5.265 3.783 +5 24 1.439 -5.133 6.271 1.465 -5 6.271 1.465 -5.144 6.128 1.364 -5.101 6.393 +5 24 -2.981 -5.144 -2.496 -2.878 -5.133 -2.392 -3.027 -5.265 -2.429 -2.965 -5 -2.519 +5 24 -5.764 -5.265 -2.34 -5.695 -5.346 -2.44 -5.847 -5.245 -2.398 -5.68 -5.245 -2.282 +5 24 1.251 -5.055 6.474 1.364 -5.101 6.393 1.262 -5 6.474 1.22 -5.101 6.474 +5 24 -3.576 -5 2.934 -3.55 -5.144 2.922 -3.491 -5 3.053 -4.173 -5 1.611 +5 24 -4.174 -5.055 2.806 -4.105 -5.101 2.685 -4.202 -5.101 2.818 -4.164 -5 2.801 +5 24 -4.968 -5.346 1.716 -4.897 -5.375 1.526 -4.568 -5.346 2.603 -5.618 -5.346 2.01 +5 24 -3.096 -5.346 -2.329 -3.027 -5.265 -2.429 -2.985 -5.32 -2.238 -4.787 -5.346 -3.499 +5 24 6.089 -5.346 1.699 6.199 -5.265 1.751 6.14 -5.32 1.565 5.144 -5.346 3.686 +5 24 -6.132 -5.144 1.815 -6.061 -5.144 1.7 -6.056 -5.265 1.844 -6.159 -5 1.805 +2 24 -6.082 -5 1.681 -5.963 -5 1.596 +5 24 3.04 -5.265 -3.306 3.107 -5.144 -3.352 2.942 -5.245 -3.413 3.925 -5.265 -2.019 +2 24 -2.892 -5 2.625 -2.859 -5 2.768 +5 24 4.854 -5 3.963 4.958 -5.101 3.981 4.916 -5.133 3.961 4.986 -5.055 3.994 +5 24 -4.568 -5.346 2.603 -4.437 -5.375 2.544 -4.499 -5.32 2.73 -4.968 -5.346 1.716 +2 24 4.854 -5 3.963 4.996 -5 3.999 +5 24 4.274 -5.144 -4.574 4.319 -5.133 -4.605 4.32 -5.265 -4.507 4.257 -5 -4.598 +5 24 -0.975 -5 -4.87 -0.946 -5.144 -4.87 -0.946 -5.133 -4.815 -0.946 -5.133 -4.925 +5 24 1.262 -5.346 4.028 1.384 -5.265 4.028 1.262 -5.346 6.128 1.251 -5.346 3.973 +5 24 4.732 -5.245 3.649 4.775 -5.265 3.51 4.834 -5.32 3.697 4.664 -5.133 3.617 +5 24 3.831 -5.346 -1.509 3.887 -5.346 -1.51 3.809 -5.265 -1.389 3.857 -5.375 -1.65 +5 24 -5.562 -5.101 -2.201 -5.546 -5 -2.189 -5.431 -5.133 -2.258 -5.701 -5.055 -2.198 +2 24 4.987 -5 2.808 5.025 -5.144 2.795 +5 24 -5.896 -5.245 -2.579 -5.804 -5.32 -2.515 -5.831 -5.265 -2.709 -5.918 -5.187 -2.447 +5 24 -1.181 -5 3.653 -1.049 -5.055 3.681 -1.038 -5 3.681 -1.08 -5.101 3.681 +5 24 -4.546 -5.265 1.659 -4.196 -5.265 2.435 -4.438 -5.144 1.7 -4.707 -5.346 1.598 +5 24 -1.283 -5.265 6.373 -1.181 -5.265 6.393 -1.314 -5.144 6.448 -1.236 -5.346 6.26 +5 24 -2.992 -5.265 2.671 -2.918 -5.144 2.637 -3.744 -5.265 1.006 -2.951 -5.245 2.81 +5 24 4.118 -5.101 -4.368 4.165 -5.187 -4.401 4.125 -5.133 -4.226 4.164 -5.055 -4.499 +5 24 3.143 -5.101 1.629 3.161 -5 1.526 3.163 -5.133 1.587 3.13 -5.055 1.658 +5 24 4.702 -5.144 3.476 4.775 -5.265 3.51 4.664 -5.133 3.617 5.025 -5.144 2.795 +2 24 -1.446 -5 3.762 -1.325 -5 3.681 +5 24 -3.032 -5.245 2.98 -2.954 -5.187 2.944 -3.054 -5.32 2.856 -3.041 -5.133 3.073 +5 24 -3.091 -5.144 3.095 -3.041 -5.133 3.073 -3.125 -5.265 3.021 -3.08 -5 3.121 +5 24 4.664 -5.133 3.617 4.68 -5.101 3.759 4.732 -5.245 3.649 4.64 -5 3.605 +2 24 4.069 -5 -1.341 5.717 -5 -2.474 +5 24 4.775 -5.101 3.894 4.817 -5.133 3.914 4.732 -5.187 3.783 4.854 -5 3.963 +2 24 3.893 -5.346 -1.85 3.925 -5.265 -2.019 +5 24 0.946 -5.101 -4.769 0.975 -5 -4.87 0.946 -5.133 -4.815 0.946 -5.055 -4.737 +5 24 0.975 -5.346 6.128 1.119 -5.375 6.128 0.986 -5.32 6.271 0.975 -5.346 4.355 +5 24 5.296 -5.346 2.699 5.487 -5.375 2.631 4.885 -5.346 3.563 3.438 -5.346 1.816 +5 24 5.701 -5.144 -2.498 5.717 -5 -2.474 5.795 -5.144 -2.595 4.053 -5.144 -1.365 +5 24 -4.964 -5.133 3.941 -4.914 -5.144 3.918 -5.04 -5.245 3.886 -4.902 -5 3.944 +5 24 -1.528 -5.144 4.028 -1.501 -5.133 3.884 -1.556 -5 4.028 -1.446 -5.265 4.028 +5 24 -4.118 -5.265 1.466 -3.475 -5.265 2.889 -4.057 -5.346 1.305 -4.158 -5.144 1.573 +5 24 4.953 -5.346 3.754 5.015 -5.375 3.624 5.073 -5.32 3.811 4.834 -5.32 3.697 +5 24 -1.126 -5.133 3.681 -1.08 -5.101 3.681 -1.08 -5.245 3.762 -1.181 -5 3.653 +5 24 0.865 -5.245 -4.769 0.946 -5.133 -4.815 0.865 -5.265 -4.87 0.865 -5.187 -4.683 +5 24 2.477 -5.133 -3.092 2.536 -5.144 -2.959 2.539 -5.245 -3.135 2.455 -5 -3.077 +2 24 -4.787 -5.346 -3.499 -4.618 -5.265 -3.53 +5 24 -4.257 -5.32 2.621 -4.236 -5.245 2.744 -4.378 -5.346 2.675 -4.155 -5.245 2.574 +2 24 4.161 -5 -4.076 4.983 -5 -2.88 +2 24 -0.865 -5 -4.605 -0.744 -5 -4.524 +5 24 0.946 -5.133 -4.815 0.975 -5 -4.87 0.946 -5.144 -4.87 0.946 -5.101 -4.769 +2 24 -4.283 -5 2.886 -4.164 -5 2.801 +5 24 1.119 -5.375 4.028 1.22 -5.346 3.926 1.251 -5.346 3.973 1.174 -5.346 3.895 +2 24 0.744 -5 6.128 0.772 -5 6.271 +5 24 4.717 -5.346 -2.417 5.305 -5.346 -2.821 4.681 -5.375 -2.217 4.749 -5.265 -2.586 +2 24 -0.6 -5 -4.495 0.6 -5 -4.495 +5 24 0.6 -5.375 -4.87 0.6 -5.346 -4.726 0.744 -5.346 -4.87 -0.6 -5.375 -4.87 +2 24 -1.528 -5 3.884 -1.446 -5 3.762 +5 24 -2.985 -5.32 -2.238 -2.921 -5.245 -2.33 -2.902 -5.245 -2.143 -3.096 -5.346 -2.329 +5 24 3.163 -5.133 1.587 3.217 -5.245 1.664 3.187 -5.144 1.538 3.143 -5.101 1.629 +5 24 -4.148 -5 -4.675 -4.119 -5.133 -4.621 -4.164 -5.144 -4.652 -4.08 -5.101 -4.594 +5 24 -5.07 -5.144 1.985 -4.753 -5.144 2.687 -5.029 -5.265 1.877 -5.084 -5 2.023 +5 24 -5.917 -5.265 1.696 -5.867 -5.346 1.807 -6.002 -5.265 1.756 -4.095 -5.265 0.873 +5 24 -1.038 -5.346 5.803 1.014 -5.346 3.931 -0.916 -5.265 5.527 -1.181 -5.375 6.128 +5 24 -1.528 -5.144 6.128 -1.501 -5.144 6.26 -1.556 -5 6.128 -1.446 -5.265 6.128 +2 24 1.119 -5 6.503 1.262 -5 6.474 +5 24 -4.378 -5.346 2.675 -4.328 -5.265 2.786 -4.499 -5.32 2.73 -4.257 -5.32 2.621 +5 24 3.967 -5.346 -3.255 4.048 -5.375 -3.137 4.076 -5.32 -3.331 3.857 -5.32 -3.18 +5 24 5.328 -5.144 3.773 5.354 -5 3.785 6.272 -5.144 1.786 5.242 -5.133 3.891 +5 24 -0.946 -5.133 -4.815 -0.865 -5.245 -4.769 -0.946 -5.144 -4.87 -0.946 -5.101 -4.769 +5 24 5.586 -5.346 -2.665 5.655 -5.265 -2.565 5.625 -5.346 -2.705 3.938 -5.346 -1.532 +5 24 3.339 -5 2.025 3.351 -5.144 1.999 3.222 -5 1.938 4.987 -5 2.808 +5 24 -4.948 -5.265 3.844 -4.914 -5.144 3.918 -5.04 -5.245 3.886 -4.855 -5.245 3.803 +5 24 0.946 -5.101 -4.971 0.946 -5.055 -5.003 0.865 -5.187 -5.058 0.975 -5 -4.87 +5 24 1.017 -5.245 6.393 1.119 -5.265 6.393 0.986 -5.32 6.271 1.064 -5.133 6.474 +5 24 4.755 -5.144 -4.485 4.779 -5 -4.501 5.79 -5.144 -2.98 4.652 -5.133 -4.588 +5 24 3.938 -5.346 -1.532 4.681 -5.375 -2.217 5.586 -5.346 -2.665 3.857 -5.375 -1.65 +5 24 -4.279 -5.346 -4.485 -4.17 -5.32 -4.41 -4.361 -5.375 -4.367 -4.21 -5.265 -4.585 +5 24 -4.361 -5.375 -4.367 -4.279 -5.346 -4.485 -4.479 -5.346 -4.449 -4.243 -5.346 -4.285 +5 24 -4.546 -5.265 1.659 -4.118 -5.265 1.466 -4.707 -5.346 1.598 -4.438 -5.144 1.7 +2 24 5.266 -5 3.903 5.354 -5 3.785 +5 24 -4.902 -5 3.944 -4.822 -5.101 3.877 -4.864 -5.133 3.896 -4.793 -5.055 3.864 +5 24 4.319 -5.133 -4.605 4.403 -5.245 -4.565 4.357 -5.101 -4.632 4.274 -5.144 -4.574 +5 24 5.79 -5.144 -2.98 5.844 -5.144 -2.855 5.723 -5.265 -2.934 5.814 -5 -2.996 +2 24 2.453 -5 -3.224 2.455 -5 -3.077 +5 24 3.938 -5.346 -1.532 5.586 -5.346 -2.665 4.007 -5.265 -1.432 4.681 -5.375 -2.217 +5 24 3.614 -5.265 1.447 3.649 -5.144 1.374 3.475 -5.245 1.404 5.361 -5.265 2.277 +5 24 -3.296 -5.187 3.099 -3.184 -5.101 3.137 -3.217 -5.245 3.063 -3.348 -5.101 3.122 +5 24 -1.049 -5.055 3.681 -1.038 -5 3.681 -0.936 -5.101 3.762 -1.181 -5 3.653 +5 24 0.946 -5.133 -4.925 0.946 -5.101 -4.971 0.865 -5.245 -4.971 0.975 -5 -4.87 +5 24 -1.236 -5.346 6.26 -1.181 -5.346 6.271 -1.283 -5.265 6.373 -1.181 -5.375 6.128 +5 24 4.352 -5.346 -4.207 5.305 -5.346 -2.821 4.47 -5.375 -4.289 4.251 -5.265 -4.138 +5 24 2.516 -5.055 -3.366 2.542 -5.101 -3.383 2.47 -5.101 -3.235 2.609 -5 -3.464 +5 24 5.07 -5.187 3.944 5.122 -5.101 3.969 5.175 -5.245 3.859 4.958 -5.101 3.981 +5 24 -0.744 -5.245 -4.625 -0.744 -5.133 -4.55 -0.865 -5.187 -4.683 -0.6 -5.265 -4.605 +5 24 1.064 -5.133 6.474 1.119 -5 6.503 1.017 -5.101 6.474 1.119 -5.144 6.474 +5 24 -0.744 -5.133 -4.55 -0.744 -5 -4.524 -0.865 -5.101 -4.625 -0.6 -5.144 -4.524 +5 24 3.147 -5 1.812 3.155 -5.101 1.794 3.125 -5 1.667 3.222 -5 1.938 +5 24 -3.99 -5.346 0.971 -3.935 -5.346 0.98 -3.994 -5.265 0.85 -3.985 -5.375 1.115 +5 24 3.912 -5.265 -1.391 4.007 -5.265 -1.432 3.887 -5.346 -1.51 3.929 -5.144 -1.311 +2 24 5.978 -5 1.263 6.12 -5 1.299 +5 24 0.744 -5.32 -4.737 0.865 -5.245 -4.769 0.744 -5.346 -4.87 0.744 -5.245 -4.625 +5 24 -4.774 -5.245 3.633 -4.706 -5.133 3.602 -4.815 -5.265 3.493 -4.777 -5.187 3.767 +5 24 -5.328 -5.144 -2.361 -4.899 -5.144 -2.981 -5.395 -5.265 -2.407 -5.305 -5 -2.345 +5 24 5.242 -5.133 3.891 5.266 -5 3.903 5.328 -5.144 3.773 5.122 -5.101 3.969 +2 24 -5.41 -5 -2.243 -5.305 -5 -2.345 +5 24 3.967 -5.346 -3.255 4.076 -5.32 -3.331 4.048 -5.375 -3.137 3.898 -5.265 -3.356 +2 24 -4.173 -5 1.611 -3.576 -5 2.934 +5 24 -4.196 -5.265 2.435 -4.155 -5.245 2.574 -4.306 -5.346 2.485 -4.121 -5.144 2.402 +5 24 -3.242 -5.133 -1.866 -3.099 -5.101 -1.858 -3.199 -5.245 -1.928 -3.257 -5 -1.844 +5 24 -2.853 -5.187 -2.214 -2.835 -5.101 -2.097 -2.902 -5.245 -2.143 -2.821 -5.101 -2.261 +5 24 0.6 -5.144 -4.524 0.744 -5.133 -4.55 0.6 -5.265 -4.605 0.6 -5 -4.495 +2 24 2.513 -5 -2.943 3.548 -5 -1.438 +5 24 5.852 -5.101 1.293 5.904 -5.187 1.317 5.732 -5.133 1.37 5.988 -5.055 1.267 +5 24 -4.579 -5.265 -4.518 -4.481 -5.245 -4.625 -4.479 -5.346 -4.449 -4.646 -5.144 -4.564 +5 24 -4.045 -5.346 0.984 -3.99 -5.346 0.971 -4.095 -5.265 0.873 -3.985 -5.375 1.115 +5 24 -5.057 -5.375 3.603 -4.926 -5.346 3.544 -4.998 -5.346 3.733 -5.808 -5.375 1.938 +5 24 -2.951 -5.245 2.81 -2.883 -5.133 2.779 -2.992 -5.265 2.671 -2.954 -5.187 2.944 +5 24 -5.289 -5.133 3.865 -5.171 -5.101 3.945 -5.221 -5.245 3.834 -5.313 -5 3.876 +5 24 5.505 -5.375 -2.783 5.625 -5.346 -2.705 5.646 -5.346 -2.757 5.586 -5.346 -2.665 +5 24 -4.009 -5.101 -4.446 -3.992 -5 -4.434 -4.016 -5.133 -4.303 -4.055 -5.055 -4.577 +5 24 5.83 -5.346 1.576 5.959 -5.375 1.637 5.901 -5.32 1.451 5.419 -5.346 2.44 +5 24 3.981 -5.245 -3.413 4.076 -5.32 -3.331 3.898 -5.265 -3.356 4.052 -5.187 -3.462 +5 24 4.676 -5 3.463 4.702 -5.144 3.476 4.64 -5 3.605 4.987 -5 2.808 +5 24 -3.212 -5.055 3.15 -3.184 -5.101 3.137 -3.348 -5.101 3.122 -3.08 -5 3.121 +5 24 1.364 -5.265 3.926 1.384 -5.265 4.028 1.439 -5.144 3.895 1.251 -5.346 3.973 +5 24 -3.391 -5 -1.902 -3.375 -5.144 -1.926 -3.257 -5 -1.844 -4.892 -5 -2.941 +5 24 0.744 -5.245 -4.625 0.865 -5.187 -4.683 0.744 -5.32 -4.737 0.744 -5.133 -4.55 +5 24 -3.348 -5.101 3.122 -3.296 -5.187 3.099 -3.466 -5.133 3.042 -3.212 -5.055 3.15 +2 24 -4.899 -5.144 -2.981 -4.892 -5 -2.941 +5 24 0.986 -5.32 6.271 1.017 -5.245 6.393 0.874 -5.245 6.271 1.119 -5.346 6.271 +5 24 -3.804 -5.265 0.921 -3.748 -5.144 0.862 -3.892 -5.265 0.867 -3.744 -5.265 1.006 +5 24 6.272 -5.144 1.786 6.31 -5.133 1.645 6.199 -5.265 1.751 6.298 -5 1.798 +5 24 5.732 -5.133 1.37 5.799 -5.245 1.402 5.646 -5.144 1.489 5.852 -5.101 1.293 +2 24 -4.282 -5 -4.734 -4.148 -5 -4.675 +5 24 0.744 -5.133 -5.19 0.865 -5.101 -5.115 0.744 -5 -5.216 0.744 -5.245 -5.115 +5 24 -0.946 -5.055 -5.003 -0.865 -5.101 -5.115 -0.946 -5 -5.014 -0.946 -5.101 -4.971 +5 24 -3.099 -5.101 -1.858 -3.067 -5.187 -1.906 -2.969 -5.055 -1.904 -3.242 -5.133 -1.866 +2 24 0.772 -5.144 4.815 0.854 -5.265 4.631 +5 24 -3.366 -5 3.13 -3.348 -5.101 3.122 -3.491 -5 3.053 -3.222 -5 3.155 +5 24 4.521 -5.101 -4.646 4.652 -5.133 -4.588 4.474 -5.187 -4.613 4.538 -5 -4.657 +2 24 -2.811 -5 -2.131 -2.809 -5 -2.278 +5 24 0.874 -5.245 6.271 0.931 -5.188 6.393 0.799 -5.133 6.271 0.986 -5.32 6.271 +5 24 -3.55 -5.144 2.922 -3.466 -5.133 3.042 -3.475 -5.265 2.889 -3.576 -5 2.934 +5 24 3.161 -5 1.526 3.244 -5.055 1.418 3.231 -5.101 1.446 3.249 -5 1.408 +5 24 -5.808 -5.375 1.938 -5.057 -5.375 3.603 -5.939 -5.346 1.997 -5.618 -5.346 2.01 +5 24 -0.916 -5.265 4.028 -0.916 -5.265 5.527 -0.835 -5.144 4.028 -1.038 -5.346 4.028 +5 24 4.474 -5.187 -4.613 4.59 -5.245 -4.546 4.403 -5.245 -4.565 4.521 -5.101 -4.646 +5 24 3.981 -5.245 -3.413 4.052 -5.187 -3.462 4.076 -5.32 -3.331 3.897 -5.133 -3.454 +5 24 -2.878 -5.133 -2.392 -2.863 -5 -2.414 -2.821 -5.101 -2.261 -2.981 -5.144 -2.496 +5 24 -4.095 -5.265 0.873 -4.045 -5.346 0.984 -3.994 -5.265 0.85 -5.917 -5.265 1.696 +5 24 3.211 -5.133 1.488 3.304 -5.245 1.481 3.187 -5.144 1.538 3.231 -5.101 1.446 +5 24 -1.181 -5.375 4.028 -1.038 -5.346 4.028 -1.181 -5.346 3.884 -1.181 -5.375 6.128 +5 24 4.23 -5.133 -3.437 4.333 -5.144 -3.334 4.168 -5.245 -3.394 4.252 -5 -3.452 +5 24 3.475 -5.245 1.404 3.614 -5.265 1.447 3.427 -5.32 1.505 3.508 -5.133 1.336 +5 24 -3.018 -5.245 -1.976 -2.924 -5.133 -1.968 -2.96 -5.265 -2.06 -3.067 -5.187 -1.906 +5 24 0.986 -5.055 6.474 1.119 -5 6.503 0.975 -5 6.474 1.017 -5.101 6.474 +5 24 3.768 -5.101 -3.365 3.806 -5.133 -3.392 3.743 -5.187 -3.25 3.835 -5 -3.446 +5 24 4.993 -5.245 3.907 5.07 -5.187 3.944 5.073 -5.32 3.811 4.916 -5.133 3.961 +5 24 1.364 -5.265 3.926 1.439 -5.144 3.895 1.384 -5.265 4.028 1.306 -5.265 3.84 +5 24 1.017 -5.101 6.474 1.119 -5 6.503 0.986 -5.055 6.474 1.064 -5.133 6.474 +5 24 -3.06 -5.346 -2.129 -2.96 -5.265 -2.06 -2.985 -5.32 -2.238 -3.135 -5.32 -2.02 +2 24 3.679 -5 -3.206 3.733 -5 -3.341 +5 24 -3.296 -5.32 2.965 -3.175 -5.346 2.91 -3.365 -5.346 2.839 -3.217 -5.245 3.063 +5 24 3.898 -5.265 -3.356 3.967 -5.346 -3.255 3.981 -5.245 -3.413 3.814 -5.245 -3.298 +2 24 4.983 -5 -2.88 5.023 -5.144 -2.873 +5 24 4.228 -5.133 -4.543 4.257 -5 -4.598 4.274 -5.144 -4.574 4.19 -5.101 -4.517 +2 24 -4.902 -5 3.944 -4.783 -5 3.859 +2 24 -3.576 -5 2.934 -3.491 -5 3.053 +5 24 2.58 -5.133 -3.41 2.626 -5.144 -3.441 2.588 -5.245 -3.316 2.609 -5 -3.464 +5 24 -3.08 -5 3.121 -2.999 -5.101 3.054 -3.041 -5.133 3.073 -2.97 -5.055 3.041 +2 24 4.357 -5 -3.35 4.777 -5 -2.739 +2 24 -4.892 -5 -2.941 -3.391 -5 -1.902 +5 24 4.498 -5.32 -4.482 4.588 -5.346 -4.37 4.59 -5.245 -4.546 4.389 -5.346 -4.407 +5 24 -1.08 -5.101 3.681 -0.994 -5.187 3.762 -1.049 -5.055 3.681 -1.126 -5.133 3.681 +5 24 -3.892 -5.265 0.867 -3.804 -5.265 0.921 -3.935 -5.346 0.98 -3.863 -5.144 0.791 +5 24 -5.007 -5.101 3.96 -4.902 -5 3.944 -4.964 -5.133 3.941 -5.035 -5.055 3.973 +5 24 5.833 -5 1.284 5.852 -5.101 1.293 5.708 -5 1.359 5.978 -5 1.263 +5 24 0.6 -5.265 -4.605 0.6 -5.144 -4.524 0.744 -5.245 -4.625 -0.6 -5.265 -4.605 +5 24 1.119 -5.375 4.028 1.119 -5.375 6.128 0.975 -5.346 4.355 1.262 -5.346 4.028 +5 24 -5.035 -5.055 3.973 -4.902 -5 3.944 -5.007 -5.101 3.96 -5.045 -5 3.977 +5 24 -4.987 -5.375 -3.463 -3.178 -5.375 -2.211 -4.787 -5.346 -3.499 -4.951 -5.346 -3.263 +5 24 -1.085 -5.346 6.234 -1.003 -5.265 6.324 0.975 -5.346 4.355 -1.126 -5.346 6.26 +2 24 -0.865 -5 -5.135 -0.744 -5 -5.216 +5 24 -4.076 -5.144 -4.17 -4.016 -5.133 -4.303 -4.143 -5.265 -4.216 -4.053 -5 -4.154 +2 24 -2.975 -5 -1.895 -2.87 -5 -1.997 +5 24 -1.314 -5.32 3.884 -1.181 -5.346 3.884 -1.325 -5.346 4.028 -1.283 -5.245 3.762 +5 24 3.93 -5.346 -3.056 4.048 -5.375 -3.137 3.857 -5.32 -3.18 4.481 -5.346 -2.254 +5 24 4.47 -5.375 -4.289 5.505 -5.375 -2.783 4.588 -5.346 -4.37 4.352 -5.346 -4.207 +5 24 0.854 -5.265 6.128 0.874 -5.245 6.271 0.772 -5.144 6.128 0.975 -5.346 6.128 +5 24 3.386 -5.265 1.926 3.438 -5.346 1.816 3.265 -5.245 1.846 5.134 -5.265 2.756 +5 24 0.946 -5.133 -4.925 0.975 -5 -4.87 0.946 -5.101 -4.971 0.946 -5.144 -4.87 +5 24 -5.918 -5.187 -2.447 -5.847 -5.245 -2.398 -5.896 -5.245 -2.579 -5.894 -5.101 -2.331 +5 24 -0.744 -5.133 -5.19 -0.6 -5.144 -5.216 -0.744 -5 -5.216 -0.744 -5.245 -5.115 +5 24 -2.97 -5.055 3.041 -2.96 -5 3.036 -2.901 -5.101 2.921 -3.08 -5 3.121 +5 24 4.357 -5.101 -4.632 4.383 -5.055 -4.649 4.474 -5.187 -4.613 4.257 -5 -4.598 +5 24 -1.528 -5.144 6.128 -1.446 -5.265 6.128 -1.501 -5.144 6.26 -1.528 -5.144 4.028 +5 24 -0.865 -5.265 -4.87 -0.865 -5.245 -4.769 -0.946 -5.144 -4.87 -0.744 -5.346 -4.87 +5 24 4.47 -5.375 -4.289 4.588 -5.346 -4.37 5.505 -5.375 -2.783 4.389 -5.346 -4.407 +5 24 1.119 -5.346 6.271 1.119 -5.265 6.393 0.986 -5.32 6.271 1.251 -5.32 6.271 +2 24 0.975 -5 6.474 1.119 -5 6.503 +5 24 3.806 -5.133 -3.392 3.814 -5.245 -3.298 3.852 -5.144 -3.423 3.768 -5.101 -3.365 +2 24 -4.783 -5 3.859 -4.706 -5 3.735 +5 24 4.834 -5.32 3.697 4.885 -5.346 3.563 4.953 -5.346 3.754 4.732 -5.245 3.649 +5 24 -6.183 -5 1.949 -6.155 -5.144 1.948 -6.159 -5 1.805 -6.15 -5 2.092 +2 24 3.147 -5 1.812 3.222 -5 1.938 +5 24 -3.475 -5.265 2.889 -3.398 -5.245 3.011 -3.365 -5.346 2.839 -3.55 -5.144 2.922 +2 24 -4.425 -5 2.919 -4.283 -5 2.886 +2 24 4.392 -5 -4.655 4.538 -5 -4.657 +5 24 -0.744 -5.32 -4.737 -0.744 -5.245 -4.625 -0.865 -5.245 -4.769 -0.6 -5.346 -4.726 +5 24 -5.35 -5.144 2.111 -5.07 -5.144 1.985 -5.457 -5.265 2.071 -5.312 -5 2.126 +5 24 0.744 -5.32 -5.003 0.744 -5.245 -5.115 0.6 -5.346 -5.014 0.865 -5.245 -4.971 +5 24 1.014 -5.346 3.931 1.064 -5.346 3.895 1.119 -5.375 4.028 0.928 -5.265 3.845 +5 24 4.993 -5.245 3.907 5.073 -5.32 3.811 4.901 -5.265 3.864 5.07 -5.187 3.944 +5 24 2.85 -5.32 -3.349 2.942 -5.245 -3.413 2.94 -5.346 -3.237 2.755 -5.245 -3.431 +2 24 -4.57 -5 2.895 -4.425 -5 2.919 +5 24 -5.431 -5.133 -2.258 -5.41 -5 -2.243 -5.328 -5.144 -2.361 -5.562 -5.101 -2.201 +5 24 3.386 -5.265 1.926 5.134 -5.265 2.756 3.438 -5.346 1.816 3.351 -5.144 1.999 +5 24 3.762 -5.144 -2.941 3.829 -5.265 -2.987 3.703 -5.133 -3.074 4.199 -5.144 -2.306 +5 24 4.165 -5.187 -4.401 4.236 -5.245 -4.45 4.187 -5.245 -4.268 4.19 -5.101 -4.517 +5 24 4.165 -5.187 -4.401 4.19 -5.101 -4.517 4.236 -5.245 -4.45 4.118 -5.101 -4.368 +2 24 5.361 -5.265 2.277 5.419 -5.346 2.44 +2 24 -4.086 -5 2.677 -4.062 -5 2.533 +5 24 1.119 -5.265 6.393 1.119 -5.144 6.474 1.017 -5.245 6.393 1.22 -5.245 6.393 +5 24 -4.378 -5.346 2.675 -4.257 -5.32 2.621 -4.437 -5.375 2.544 -4.328 -5.265 2.786 +5 24 -3.212 -5.055 3.15 -3.08 -5 3.121 -3.184 -5.101 3.137 -3.222 -5 3.155 +5 24 -5.298 -5.265 3.712 -5.221 -5.245 3.834 -5.187 -5.346 3.662 -5.372 -5.144 3.745 +5 24 5.62 -5 1.476 5.646 -5.144 1.489 5.708 -5 1.359 5.309 -5 2.131 +5 24 4.916 -5.133 3.961 4.993 -5.245 3.907 4.866 -5.144 3.937 4.958 -5.101 3.981 +5 24 -3.027 -5.265 -2.429 -2.981 -5.144 -2.496 -2.921 -5.245 -2.33 -4.618 -5.265 -3.53 +5 24 -5.831 -5.265 -2.709 -5.731 -5.346 -2.64 -5.896 -5.245 -2.579 -4.579 -5.265 -4.518 +2 24 -1.038 -5 6.474 -0.929 -5 6.405 +5 24 -1.181 -5.375 6.128 1.119 -5.375 4.028 -1.038 -5.346 5.803 -1.085 -5.346 6.234 +5 24 1.364 -5.245 6.271 1.384 -5.265 6.128 1.439 -5.133 6.271 1.251 -5.32 6.271 +5 24 0.865 -5.265 -4.87 0.946 -5.144 -4.87 0.865 -5.245 -4.769 0.865 -5.245 -4.971 +2 24 -0.975 -5 -4.87 -0.946 -5 -4.726 +5 24 -1.181 -5.375 6.128 -1.126 -5.346 6.26 -1.181 -5.346 6.271 -1.085 -5.346 6.234 +2 24 4.64 -5 3.605 4.676 -5 3.463 +5 24 -0.835 -5.144 4.028 -0.806 -5 4.028 -0.861 -5.133 3.884 -0.835 -5.144 5.343 +2 24 4.717 -5.346 -2.417 4.749 -5.265 -2.586 +5 24 -2.921 -5.245 -2.33 -2.878 -5.133 -2.392 -2.853 -5.187 -2.214 -3.027 -5.265 -2.429 +5 24 1.22 -5.245 6.393 1.251 -5.32 6.271 1.306 -5.188 6.393 1.119 -5.265 6.393 +5 24 3.929 -5.144 -1.311 4.053 -5.144 -1.365 3.912 -5.265 -1.391 3.935 -5 -1.283 +5 24 -1.283 -5.346 6.229 -1.236 -5.346 6.26 -1.369 -5.265 6.315 -1.181 -5.375 6.128 +5 24 5.646 -5.346 -2.757 5.766 -5.265 -2.735 5.645 -5.346 -2.813 5.625 -5.346 -2.705 +5 24 -0.744 -5.32 -5.003 -0.744 -5.245 -5.115 -0.6 -5.346 -5.014 -0.865 -5.245 -4.971 +5 24 3.217 -5.245 1.664 3.313 -5.32 1.745 3.26 -5.265 1.573 3.18 -5.187 1.742 +5 24 5.073 -5.32 3.811 5.175 -5.245 3.859 5.144 -5.346 3.686 4.993 -5.245 3.907 +5 24 0.865 -5.101 -4.625 0.946 -5.055 -4.737 0.865 -5.187 -4.683 0.865 -5 -4.605 +5 24 1.119 -5.265 6.393 1.22 -5.245 6.393 1.119 -5.346 6.271 1.119 -5.144 6.474 +5 24 -2.999 -5.101 3.054 -2.954 -5.187 2.944 -3.041 -5.133 3.073 -2.97 -5.055 3.041 +5 24 5.727 -5.265 -2.639 5.795 -5.144 -2.595 5.766 -5.265 -2.735 5.655 -5.265 -2.565 +5 24 2.47 -5.101 -3.235 2.517 -5.187 -3.268 2.477 -5.133 -3.092 2.516 -5.055 -3.366 +2 24 3.161 -5 1.526 3.249 -5 1.408 +5 24 2.517 -5.187 -3.268 2.542 -5.101 -3.383 2.588 -5.245 -3.316 2.47 -5.101 -3.235 +5 24 0.744 -5.245 -4.625 0.744 -5.133 -4.55 0.6 -5.265 -4.605 0.865 -5.187 -4.683 +5 24 -4.128 -5.144 0.799 -4.095 -5.265 0.873 -3.996 -5.144 0.768 -5.951 -5.144 1.622 +5 24 3.161 -5 1.526 3.211 -5.133 1.488 3.187 -5.144 1.538 3.231 -5.101 1.446 +2 24 3.125 -5 1.667 3.161 -5 1.526 +5 24 -4.155 -5.245 2.574 -4.086 -5.133 2.543 -4.196 -5.265 2.435 -4.157 -5.187 2.709 +5 24 -1.283 -5.265 6.373 -1.236 -5.346 6.26 -1.369 -5.265 6.315 -1.181 -5.265 6.393 +5 24 -4.202 -5.101 2.818 -4.157 -5.187 2.709 -4.245 -5.133 2.837 -4.174 -5.055 2.806 +2 24 3.548 -5 -1.438 3.653 -5 -1.336 +5 24 -3.994 -5.265 0.85 -3.892 -5.265 0.867 -3.99 -5.346 0.971 -3.996 -5.144 0.768 +5 24 -4.669 -5 -4.58 -4.646 -5.144 -4.564 -5.921 -5 -2.771 -4.564 -5 -4.682 +5 24 0.946 -5.144 -4.87 0.946 -5.133 -4.925 0.865 -5.265 -4.87 0.975 -5 -4.87 +5 24 -0.946 -5.133 -4.925 -0.865 -5.245 -4.971 -0.946 -5.101 -4.971 -0.946 -5.144 -4.87 +5 24 -3.141 -5.133 3.118 -3.08 -5 3.121 -3.091 -5.144 3.095 -3.184 -5.101 3.137 +2 24 -2.883 -5 2.912 -2.859 -5 2.768 +5 24 5.72 -5.265 1.523 5.83 -5.346 1.576 5.799 -5.245 1.402 5.361 -5.265 2.277 +5 24 4.68 -5.101 3.759 4.732 -5.187 3.783 4.664 -5.133 3.617 4.746 -5.055 3.88 +5 24 -3.06 -5.346 -2.129 -2.985 -5.32 -2.238 -2.96 -5.265 -2.06 -3.178 -5.375 -2.211 +5 24 5.646 -5.144 1.489 5.72 -5.265 1.523 5.732 -5.133 1.37 5.323 -5.144 2.169 +5 24 -2.901 -5.101 2.921 -2.883 -5.133 2.779 -2.954 -5.187 2.944 -2.883 -5 2.912 +5 24 -3.398 -5.245 3.011 -3.296 -5.187 3.099 -3.296 -5.32 2.965 -3.466 -5.133 3.042 +2 24 -4.401 -5 1.714 -4.173 -5 1.611 +5 24 1.251 -5.346 3.973 1.364 -5.265 3.926 1.262 -5.346 4.028 1.22 -5.346 3.926 +5 24 -6.073 -5.265 1.946 -6.05 -5.265 2.047 -5.952 -5.346 1.942 -6.155 -5.144 1.948 +5 24 -6.056 -5.265 1.844 -6.002 -5.265 1.756 -5.943 -5.346 1.887 -6.132 -5.144 1.815 +5 24 -1.528 -5 6.271 -1.501 -5.144 6.26 -1.556 -5 6.128 -1.446 -5 6.393 +5 24 4.184 -5.144 -4.092 4.251 -5.265 -4.138 4.125 -5.133 -4.226 5.023 -5.144 -2.873 +5 24 -1.038 -5.346 4.028 -1.038 -5.346 5.803 -0.916 -5.265 4.028 -1.181 -5.375 4.028 +2 24 4.777 -5 -2.739 4.983 -5 -2.88 +5 24 -5.765 -5.133 -2.242 -5.68 -5.245 -2.282 -5.81 -5.144 -2.273 -5.727 -5.101 -2.215 +5 24 2.626 -5.144 -3.441 2.672 -5.265 -3.374 2.58 -5.133 -3.41 2.671 -5.133 -3.472 +5 24 -3.67 -5.144 0.972 -3.644 -5 0.96 -3.748 -5.144 0.862 -2.918 -5.144 2.637 +5 24 0.851 -5 3.767 0.871 -5.144 3.787 0.975 -5 3.681 -0.806 -5 5.278 +5 24 -4.08 -5.101 -4.594 -4.055 -5.055 -4.577 -4.056 -5.187 -4.478 -4.148 -5 -4.675 +5 24 -4.245 -5.133 2.837 -4.202 -5.101 2.818 -4.236 -5.245 2.744 -4.283 -5 2.886 +5 24 -5.965 -5.101 -2.479 -5.918 -5.187 -2.447 -5.958 -5.133 -2.622 -5.919 -5.055 -2.349 +5 24 -0.865 -5.187 -4.683 -0.865 -5.101 -4.625 -0.946 -5.101 -4.769 -0.744 -5.245 -4.625 +5 24 4.749 -5.265 -2.586 5.136 -5.265 -2.852 4.717 -5.346 -2.417 4.77 -5.144 -2.699 +5 24 6.073 -5.265 1.398 6.165 -5.245 1.441 6.021 -5.346 1.508 6.108 -5.144 1.324 +5 24 -0.948 -5.144 6.384 0.772 -5.144 4.815 -1.003 -5.265 6.324 -0.929 -5 6.405 +5 24 1.251 -5.32 6.271 1.364 -5.245 6.271 1.262 -5.346 6.128 1.22 -5.245 6.393 +5 24 0.946 -5.133 -4.815 0.946 -5.101 -4.769 0.865 -5.245 -4.769 0.975 -5 -4.87 +5 24 0.975 -5.346 6.128 0.986 -5.32 6.271 0.854 -5.265 6.128 1.119 -5.375 6.128 +2 24 3.953 -5 -2.172 4.159 -5 -2.314 +5 24 -3.744 -5.265 1.006 -3.67 -5.144 0.972 -3.804 -5.265 0.921 -2.992 -5.265 2.671 +2 24 1.119 -5 3.653 1.262 -5 3.681 +5 24 -1.314 -5.346 6.183 -1.181 -5.375 6.128 -1.325 -5.346 6.128 -1.283 -5.346 6.229 +5 24 0.975 -5 3.681 0.986 -5.144 3.708 1.119 -5 3.653 0.851 -5 3.767 +5 24 -4.119 -5.133 -4.621 -4.08 -5.101 -4.594 -4.127 -5.245 -4.527 -4.148 -5 -4.675 +5 24 -1.556 -5 4.028 -1.528 -5.144 4.028 -1.556 -5 6.128 -1.528 -5 3.884 +2 24 6.12 -5 1.299 6.237 -5 1.386 +5 24 3.857 -5.375 -1.65 3.893 -5.346 -1.85 2.822 -5.375 -3.155 4.681 -5.375 -2.217 +5 24 1.306 -5.265 3.84 1.364 -5.144 3.783 1.364 -5.265 3.926 1.22 -5.265 3.783 +5 24 3.366 -5.101 1.351 3.508 -5.133 1.336 3.341 -5.187 1.403 3.374 -5 1.333 +5 24 -3.111 -5 -1.842 -3.099 -5.101 -1.858 -2.975 -5 -1.895 -3.257 -5 -1.844 +5 24 0.946 -5.144 -4.87 0.975 -5 -4.87 0.946 -5.133 -4.815 0.946 -5.133 -4.925 +5 24 -3.178 -5.375 -2.211 -3.06 -5.346 -2.129 -3.096 -5.346 -2.329 -3.26 -5.346 -2.093 +5 24 4.257 -5 -4.598 4.319 -5.133 -4.605 4.357 -5.101 -4.632 4.274 -5.144 -4.574 +5 24 5.72 -5.265 1.523 5.799 -5.245 1.402 5.83 -5.346 1.576 5.646 -5.144 1.489 +5 24 1.384 -5.265 4.028 1.465 -5.144 4.028 1.384 -5.265 6.128 1.364 -5.265 3.926 +2 24 -3.391 -5 -1.902 -3.257 -5 -1.844 +2 24 -1.038 -5.346 5.803 -0.916 -5.265 5.527 +5 24 5.727 -5.265 -2.639 5.766 -5.265 -2.735 5.625 -5.346 -2.705 5.795 -5.144 -2.595 +5 24 -0.6 -5.346 -5.014 0.6 -5.346 -5.014 -0.6 -5.265 -5.135 -0.6 -5.375 -4.87 +5 24 5.852 -5.101 1.293 5.988 -5.055 1.267 5.904 -5.187 1.317 5.833 -5 1.284 +2 24 6.312 -5 1.512 6.334 -5 1.656 +5 24 -6.073 -5.265 1.946 -6.056 -5.265 1.844 -5.952 -5.346 1.942 -6.155 -5.144 1.948 +5 24 -4.045 -5.346 0.984 -3.985 -5.375 1.115 -3.99 -5.346 0.971 -4.897 -5.375 1.526 +5 24 -4.148 -5 -4.675 -4.08 -5.101 -4.594 -4.119 -5.133 -4.621 -4.055 -5.055 -4.577 +5 24 -2.918 -5.144 2.637 -2.883 -5.133 2.779 -2.992 -5.265 2.671 -2.892 -5 2.625 +5 24 -3.892 -5.265 0.867 -3.863 -5.144 0.791 -3.994 -5.265 0.85 -3.804 -5.265 0.921 +2 24 0.946 -5 -5.014 0.975 -5 -4.87 +5 24 -5.029 -5.265 1.877 -4.679 -5.265 2.653 -4.968 -5.346 1.716 -5.07 -5.144 1.985 +5 24 5.795 -5.144 -2.595 5.846 -5.144 -2.72 5.727 -5.265 -2.639 5.819 -5 -2.579 +5 24 -5.913 -5.346 1.839 -5.808 -5.375 1.938 -5.943 -5.346 1.887 -5.867 -5.346 1.807 +5 24 -4.92 -5.265 -3.094 -3.329 -5.265 -1.993 -4.951 -5.346 -3.263 -4.899 -5.144 -2.981 +5 24 3.742 -5.055 -3.348 3.835 -5 -3.446 3.768 -5.101 -3.365 3.733 -5 -3.341 +5 24 5.988 -5.055 1.267 6.016 -5.101 1.281 5.852 -5.101 1.293 6.12 -5 1.299 +5 24 0.6 -5.265 -5.135 0.6 -5.144 -5.216 0.744 -5.245 -5.115 -0.6 -5.265 -5.135 +5 24 4.19 -5.101 -4.517 4.228 -5.133 -4.543 4.165 -5.187 -4.401 4.257 -5 -4.598 +5 24 2.74 -5.346 -3.274 2.822 -5.375 -3.155 2.631 -5.32 -3.199 2.85 -5.32 -3.349 +5 24 -0.936 -5.101 3.762 -0.861 -5.133 3.884 -0.916 -5 3.762 -0.994 -5.187 3.762 +2 24 3.733 -5 -3.341 3.835 -5 -3.446 +5 24 4.383 -5.055 -4.649 4.521 -5.101 -4.646 4.357 -5.101 -4.632 4.392 -5 -4.655 +5 24 2.709 -5.101 -3.498 2.735 -5.055 -3.516 2.826 -5.187 -3.48 2.609 -5 -3.464 +5 24 -2.862 -5.133 -2.059 -2.835 -5.101 -2.097 -2.902 -5.245 -2.143 -2.87 -5 -1.997 +5 24 -4.056 -5.187 -4.478 -4.009 -5.101 -4.446 -4.078 -5.245 -4.346 -4.08 -5.101 -4.594 +5 24 3.779 -5.346 -1.53 3.831 -5.346 -1.509 3.712 -5.265 -1.428 3.857 -5.375 -1.65 +5 24 -1.08 -5.245 3.762 -0.994 -5.187 3.762 -1.049 -5.32 3.884 -1.126 -5.133 3.681 +2 24 4.116 -5 -3.506 4.252 -5 -3.452 +5 24 3.857 -5.32 -3.18 3.93 -5.346 -3.056 3.967 -5.346 -3.255 3.765 -5.245 -3.117 +5 24 1.364 -5.101 6.393 1.439 -5.133 6.271 1.384 -5 6.393 1.306 -5.188 6.393 +5 24 -5.98 -5 -2.637 -5.958 -5.133 -2.622 -5.921 -5 -2.771 -5.982 -5 -2.491 +5 24 6.199 -5.265 1.751 6.242 -5.245 1.613 6.089 -5.346 1.699 6.272 -5.144 1.786 +2 24 -3.257 -5 -1.844 -3.111 -5 -1.842 +2 24 -5.963 -5 1.596 -4.14 -5 0.773 +5 24 -4.987 -5.375 -3.463 -4.787 -5.346 -3.499 -4.361 -5.375 -4.367 -3.178 -5.375 -2.211 +5 24 6.157 -5.133 1.348 6.165 -5.245 1.441 6.108 -5.144 1.324 6.199 -5.101 1.368 +5 24 2.755 -5.245 -3.431 2.826 -5.187 -3.48 2.85 -5.32 -3.349 2.671 -5.133 -3.472 +2 24 3.925 -5.265 -2.019 3.946 -5.144 -2.132 +5 24 -4.481 -5.245 -4.625 -4.388 -5.32 -4.561 -4.579 -5.265 -4.518 -4.364 -5.187 -4.692 +5 24 -5.701 -5.055 -2.198 -5.692 -5 -2.191 -5.562 -5.101 -2.201 -5.826 -5 -2.25 +2 24 4.101 -5 -4.357 4.155 -5 -4.493 +5 24 5.505 -5.375 -2.783 5.645 -5.346 -2.813 5.646 -5.346 -2.757 5.623 -5.346 -2.865 +5 24 6.228 -5.055 1.381 6.294 -5.101 1.503 6.199 -5.101 1.368 6.237 -5 1.386 +5 24 -4.174 -5.055 2.806 -4.164 -5 2.801 -4.105 -5.101 2.685 -4.283 -5 2.886 +5 24 -4.779 -5 2.699 -4.753 -5.144 2.687 -4.694 -5 2.818 -5.084 -5 2.023 +5 24 -1.181 -5.265 3.762 -1.181 -5.144 3.681 -1.283 -5.245 3.762 -1.08 -5.245 3.762 +5 24 1.119 -5.375 4.028 1.251 -5.346 3.973 1.262 -5.346 4.028 1.22 -5.346 3.926 +5 24 4.048 -5.375 -3.137 4.681 -5.375 -2.217 3.93 -5.346 -3.056 4.166 -5.346 -3.219 +5 24 4.266 -5.265 -3.287 4.749 -5.265 -2.586 4.166 -5.346 -3.219 4.333 -5.144 -3.334 +5 24 -3.985 -5.375 1.115 -3.855 -5.346 1.056 -3.887 -5.346 1.01 -3.234 -5.375 2.78 +5 24 3.233 -5.133 1.914 3.351 -5.144 1.999 3.265 -5.245 1.846 3.222 -5 1.938 +5 24 5.419 -5.346 2.44 5.487 -5.375 2.631 5.83 -5.346 1.576 3.562 -5.346 1.557 +5 24 -5.431 -5.133 -2.258 -5.328 -5.144 -2.361 -5.493 -5.245 -2.301 -5.41 -5 -2.243 +2 24 -4.428 -5 -4.736 -4.282 -5 -4.734 +5 24 5.305 -5.346 -2.821 5.505 -5.375 -2.783 4.352 -5.346 -4.207 4.717 -5.346 -2.417 +5 24 5.015 -5.375 3.624 5.144 -5.346 3.686 4.953 -5.346 3.754 5.487 -5.375 2.631 +5 24 -4.914 -5.144 3.918 -4.902 -5 3.944 -4.964 -5.133 3.941 -4.864 -5.133 3.896 +5 24 4.333 -5.144 -3.334 4.357 -5 -3.35 4.23 -5.133 -3.437 4.77 -5.144 -2.699 +5 24 1.119 -5.375 6.128 1.119 -5.346 6.271 0.975 -5.346 6.128 1.262 -5.346 6.128 +5 24 -4.21 -5.265 -4.585 -4.164 -5.144 -4.652 -4.294 -5.245 -4.643 -4.127 -5.245 -4.527 +5 24 -0.6 -5.346 -4.726 0.6 -5.346 -4.726 -0.6 -5.265 -4.605 -0.6 -5.375 -4.87 +5 24 2.58 -5.133 -3.41 2.588 -5.245 -3.316 2.542 -5.101 -3.383 2.626 -5.144 -3.441 +5 24 2.609 -5 -3.464 2.735 -5.055 -3.516 2.709 -5.101 -3.498 2.744 -5 -3.522 +5 24 0.6 -5.265 -5.135 0.744 -5.245 -5.115 0.6 -5.144 -5.216 0.6 -5.346 -5.014 +5 24 -1.085 -5.346 6.234 0.975 -5.346 4.355 -1.003 -5.265 6.324 -1.181 -5.375 6.128 +5 24 5.799 -5.245 1.402 5.904 -5.187 1.317 5.901 -5.32 1.451 5.732 -5.133 1.37 +5 24 1.465 -5.144 6.128 1.494 -5 6.128 1.465 -5.144 4.028 1.439 -5.133 6.271 +5 24 -3.748 -5.144 0.862 -3.729 -5 0.841 -3.863 -5.144 0.791 -3.67 -5.144 0.972 +5 24 -4.364 -5.187 -4.692 -4.294 -5.245 -4.643 -4.481 -5.245 -4.625 -4.247 -5.101 -4.71 +5 24 0.744 -5.133 -4.55 0.744 -5 -4.524 0.6 -5.144 -4.524 0.865 -5.101 -4.625 +5 24 0.871 -5.144 3.787 0.928 -5.265 3.845 0.986 -5.144 3.708 -0.835 -5.144 5.343 +5 24 -5.808 -5.375 1.938 -4.897 -5.375 1.526 -5.867 -5.346 1.807 -5.618 -5.346 2.01 +5 24 1.064 -5.133 6.474 1.119 -5.144 6.474 1.017 -5.245 6.393 1.119 -5 6.503 +5 24 -4.243 -5.346 -4.285 -4.143 -5.265 -4.216 -4.17 -5.32 -4.41 -4.787 -5.346 -3.499 +5 24 -3.329 -5.265 -1.993 -3.199 -5.245 -1.928 -3.26 -5.346 -2.093 -3.375 -5.144 -1.926 +5 24 2.47 -5.101 -3.235 2.516 -5.055 -3.366 2.517 -5.187 -3.268 2.453 -5 -3.224 +2 24 3.739 -5 -2.925 4.159 -5 -2.314 +5 24 0.865 -5.187 -4.683 0.865 -5.101 -4.625 0.744 -5.245 -4.625 0.946 -5.101 -4.769 +5 24 -5.171 -5.101 3.945 -5.035 -5.055 3.973 -5.118 -5.187 3.921 -5.189 -5 3.953 +5 24 -4.387 -5.101 2.902 -4.345 -5.133 2.883 -4.499 -5.187 2.863 -4.283 -5 2.886 +5 24 4.681 -5.375 -2.217 5.586 -5.346 -2.665 5.505 -5.375 -2.783 3.938 -5.346 -1.532 +2 24 -5.312 -5 2.126 -4.715 -5 3.448 +5 24 -4.127 -5.245 -4.527 -4.056 -5.187 -4.478 -4.17 -5.32 -4.41 -4.119 -5.133 -4.621 +5 24 -4.679 -5.265 2.653 -4.568 -5.346 2.603 -4.601 -5.245 2.776 -5.029 -5.265 1.877 +5 24 -4.428 -5 -4.736 -4.412 -5.101 -4.725 -4.564 -5 -4.682 -4.282 -5 -4.734 +2 24 -4.694 -5 2.818 -4.57 -5 2.895 +2 24 -3.644 -5 0.96 -2.892 -5 2.625 +5 24 -4.877 -5.32 3.679 -4.855 -5.245 3.803 -4.998 -5.346 3.733 -4.774 -5.245 3.633 +5 24 1.119 -5.144 6.474 1.174 -5.133 6.474 1.119 -5.265 6.393 1.119 -5 6.503 +5 24 -1.181 -5.346 3.884 -1.181 -5.265 3.762 -1.314 -5.32 3.884 -1.049 -5.32 3.884 +5 24 1.119 -5.144 3.681 1.251 -5.144 3.708 1.119 -5 3.653 1.119 -5.265 3.762 +2 24 5.717 -5 -2.474 5.819 -5 -2.579 +5 24 -5.695 -5.346 -2.44 -5.613 -5.375 -2.558 -5.804 -5.32 -2.515 -5.586 -5.32 -2.365 +5 24 -4.016 -5.133 -4.303 -3.995 -5 -4.288 -4.076 -5.144 -4.17 -4.009 -5.101 -4.446 +5 24 5.978 -5 1.263 5.988 -5.055 1.267 5.833 -5 1.284 6.12 -5 1.299 +2 24 -0.806 -5 5.278 0.851 -5 3.767 +5 24 -5.826 -5 -2.25 -5.81 -5.144 -2.273 -5.855 -5.133 -2.304 -5.765 -5.133 -2.242 +5 24 -2.969 -5.055 -1.904 -2.87 -5 -1.997 -2.951 -5.101 -1.93 -2.975 -5 -1.895 +5 24 -0.946 -5.133 -4.925 -0.946 -5.101 -4.971 -0.865 -5.245 -4.971 -0.975 -5 -4.87 +5 24 0.865 -5.187 -5.058 0.865 -5.101 -5.115 0.946 -5.101 -4.971 0.744 -5.245 -5.115 +5 24 0.6 -5.346 -4.726 0.744 -5.32 -4.737 0.6 -5.375 -4.87 0.6 -5.265 -4.605 +5 24 -1.038 -5.346 4.028 -0.916 -5.265 4.028 -1.049 -5.32 3.884 -1.038 -5.346 5.803 +5 24 2.631 -5.32 -3.199 2.704 -5.346 -3.074 2.539 -5.245 -3.135 2.74 -5.346 -3.274 +5 24 3.935 -5.101 -3.48 3.961 -5.055 -3.498 4.052 -5.187 -3.462 3.835 -5 -3.446 +5 24 -4.618 -5.265 -3.53 -4.143 -5.265 -4.216 -4.787 -5.346 -3.499 -4.505 -5.144 -3.55 +5 24 4.266 -5.265 -3.287 4.333 -5.144 -3.334 4.168 -5.245 -3.394 4.749 -5.265 -2.586 +5 24 4.885 -5.346 3.563 5.015 -5.375 3.624 5.296 -5.346 2.699 4.834 -5.32 3.697 +2 24 -6.183 -5 1.949 -6.15 -5 2.092 +5 24 3.341 -5.187 1.403 3.475 -5.245 1.404 3.304 -5.245 1.481 3.366 -5.101 1.351 +5 24 -0.975 -5 -4.87 -0.946 -5.055 -4.737 -0.946 -5.101 -4.769 -0.946 -5 -4.726 +2 24 4.662 -5 3.75 4.737 -5 3.876 +5 24 -5.952 -5.346 1.942 -5.808 -5.375 1.938 -5.943 -5.346 1.887 -5.939 -5.346 1.997 +5 24 -6.061 -5.144 1.7 -6.002 -5.265 1.756 -6.132 -5.144 1.815 -5.951 -5.144 1.622 +5 24 -0.865 -5.101 -5.115 -0.865 -5 -5.135 -0.946 -5.055 -5.003 -0.744 -5.133 -5.19 +5 24 3.912 -5.265 -1.391 3.929 -5.144 -1.311 4.007 -5.265 -1.432 3.809 -5.265 -1.389 +5 24 2.513 -5 -2.943 2.536 -5.144 -2.959 3.548 -5 -1.438 2.455 -5 -3.077 +5 24 1.22 -5.265 3.783 1.306 -5.265 3.84 1.251 -5.144 3.708 1.174 -5.346 3.895 +5 24 5.361 -5.265 2.277 5.72 -5.265 1.523 5.419 -5.346 2.44 5.323 -5.144 2.169 +5 24 -0.946 -5.144 -4.87 -0.946 -5.133 -4.815 -0.865 -5.265 -4.87 -0.975 -5 -4.87 +5 24 -4.707 -5.346 1.598 -4.057 -5.346 1.305 -4.897 -5.375 1.526 -4.546 -5.265 1.659 +5 24 0.865 -5.265 -4.87 0.865 -5.245 -4.769 0.744 -5.346 -4.87 0.946 -5.144 -4.87 +5 24 -1.283 -5.101 3.681 -1.236 -5.133 3.681 -1.369 -5.187 3.762 -1.181 -5 3.653 +5 24 -4.438 -5.144 1.7 -4.121 -5.144 2.402 -4.546 -5.265 1.659 -4.401 -5 1.714 +5 24 1.174 -5.346 3.895 1.22 -5.346 3.926 1.22 -5.265 3.783 1.119 -5.375 4.028 +5 24 -4.914 -5.144 3.918 -4.864 -5.133 3.896 -4.948 -5.265 3.844 -4.902 -5 3.944 +5 24 -4.499 -5.187 2.863 -4.421 -5.245 2.828 -4.601 -5.245 2.776 -4.387 -5.101 2.902 +5 24 -4.273 -5.055 -4.727 -4.148 -5 -4.675 -4.247 -5.101 -4.71 -4.282 -5 -4.734 +5 24 -4.416 -5.055 2.915 -4.283 -5 2.886 -4.387 -5.101 2.902 -4.425 -5 2.919 +5 24 -4.679 -5.265 2.653 -4.601 -5.245 2.776 -4.568 -5.346 2.603 -4.753 -5.144 2.687 +2 24 0.744 -5 4.879 0.744 -5 6.128 +5 24 -6.15 -5 2.092 -6.124 -5.144 2.08 -6.183 -5 1.949 -5.398 -5 3.757 +5 24 1.014 -5.346 3.931 1.119 -5.375 4.028 1.064 -5.346 3.895 -1.038 -5.346 5.803 +5 24 5.175 -5.245 3.859 5.242 -5.133 3.891 5.254 -5.265 3.738 5.07 -5.187 3.944 +5 24 -4.078 -5.245 -4.346 -4.016 -5.133 -4.303 -4.143 -5.265 -4.216 -4.056 -5.187 -4.478 +5 24 5.505 -5.375 -2.783 5.586 -5.346 -2.665 5.625 -5.346 -2.705 4.681 -5.375 -2.217 +5 24 -3.08 -5 3.121 -3.041 -5.133 3.073 -2.999 -5.101 3.054 -3.091 -5.144 3.095 +5 24 -1.446 -5 3.762 -1.426 -5.101 3.762 -1.528 -5 3.884 -1.325 -5 3.681 +2 24 4.199 -5.144 -2.306 4.312 -5.265 -2.285 +5 24 -0.946 -5.101 -4.971 -0.865 -5.187 -5.058 -0.946 -5.055 -5.003 -0.946 -5.133 -4.925 +5 24 -0.6 -5.375 -4.87 -0.6 -5.346 -5.014 -0.744 -5.346 -4.87 0.6 -5.375 -4.87 +5 24 -0.865 -5.265 -4.87 -0.744 -5.346 -4.87 -0.865 -5.245 -4.769 -0.865 -5.245 -4.971 +2 24 2.744 -5 -3.522 2.89 -5 -3.524 +5 24 -4.273 -5.055 -4.727 -4.247 -5.101 -4.71 -4.412 -5.101 -4.725 -4.148 -5 -4.675 +5 24 -1.325 -5 6.474 -1.314 -5.144 6.448 -1.446 -5 6.393 -1.181 -5 6.503 +5 24 4.662 -5 3.75 4.68 -5.101 3.759 4.64 -5 3.605 4.737 -5 3.876 +2 24 -5.982 -5 -2.491 -5.98 -5 -2.637 +5 24 -3.242 -5.133 -1.866 -3.199 -5.245 -1.928 -3.099 -5.101 -1.858 -3.375 -5.144 -1.926 +5 24 0.986 -5.055 6.474 1.017 -5.101 6.474 0.874 -5.101 6.393 1.119 -5 6.503 +5 24 4.166 -5.346 -3.219 4.717 -5.346 -2.417 4.266 -5.265 -3.287 4.048 -5.375 -3.137 +5 24 -5.951 -5.144 1.622 -4.128 -5.144 0.799 -5.963 -5 1.596 -5.917 -5.265 1.696 +5 24 -0.6 -5.375 -4.87 -0.6 -5.346 -4.726 -0.744 -5.346 -4.87 0.6 -5.375 -4.87 +5 24 1.119 -5.375 6.128 1.262 -5.346 6.128 1.119 -5.346 6.271 1.119 -5.375 4.028 +5 24 3.13 -5.055 1.658 3.161 -5 1.526 3.143 -5.101 1.629 3.125 -5 1.667 +5 24 3.187 -5.144 1.538 3.211 -5.133 1.488 3.26 -5.265 1.573 3.161 -5 1.526 +5 24 -3.257 -5 -1.844 -3.242 -5.133 -1.866 -3.111 -5 -1.842 -3.391 -5 -1.902 +5 24 -1.181 -5.375 6.128 -1.085 -5.346 6.234 -1.126 -5.346 6.26 1.119 -5.375 4.028 +5 24 3.004 -5.133 -3.455 3.107 -5.144 -3.352 2.942 -5.245 -3.413 3.026 -5 -3.47 +5 24 -0.948 -5.144 6.384 -0.929 -5 6.405 -1.049 -5.144 6.448 0.772 -5.144 4.815 +5 24 -4.279 -5.346 -4.485 -4.21 -5.265 -4.585 -4.388 -5.32 -4.561 -4.17 -5.32 -4.41 +5 24 3.649 -5.144 1.374 3.661 -5 1.348 3.508 -5.133 1.336 5.323 -5.144 2.169 +2 24 3.789 -5 -1.281 3.935 -5 -1.283 +5 24 -5.221 -5.245 3.834 -5.118 -5.187 3.921 -5.118 -5.32 3.788 -5.289 -5.133 3.865 +5 24 6.016 -5.101 1.281 6.12 -5 1.299 6.058 -5.133 1.301 5.988 -5.055 1.267 +5 24 -5.618 -5.346 2.01 -4.968 -5.346 1.716 -5.808 -5.375 1.938 -5.457 -5.265 2.071 +5 24 -4.897 -5.375 1.526 -3.985 -5.375 1.115 -4.707 -5.346 1.598 -4.045 -5.346 0.984 +2 24 -0.744 -5 -4.524 -0.6 -5 -4.495 +5 24 3.668 -5.144 -1.36 3.712 -5.265 -1.428 3.794 -5.144 -1.309 3.571 -5.144 -1.454 +5 24 -0.975 -5 -4.87 -0.946 -5.133 -4.925 -0.946 -5.101 -4.971 -0.946 -5.144 -4.87 +5 24 -5.913 -5.346 1.839 -5.867 -5.346 1.807 -6.002 -5.265 1.756 -5.808 -5.375 1.938 +5 24 3.341 -5.187 1.403 3.366 -5.101 1.351 3.231 -5.101 1.446 3.475 -5.245 1.404 +5 24 -0.861 -5.133 3.884 -0.835 -5 3.884 -0.835 -5.144 4.028 -0.936 -5.101 3.762 +5 24 4.048 -5.375 -3.137 4.166 -5.346 -3.219 3.967 -5.346 -3.255 4.681 -5.375 -2.217 +5 24 0.865 -5.245 -4.971 0.946 -5.133 -4.925 0.865 -5.187 -5.058 0.865 -5.265 -4.87 +5 24 2.942 -5.245 -3.413 3.004 -5.133 -3.455 3.04 -5.265 -3.306 2.826 -5.187 -3.48 +2 24 6.298 -5 1.798 6.334 -5 1.656 +5 24 2.536 -5.144 -2.959 3.571 -5.144 -1.454 2.603 -5.265 -3.005 2.513 -5 -2.943 +5 24 -4.437 -5.375 2.544 -4.306 -5.346 2.485 -4.378 -5.346 2.675 -4.897 -5.375 1.526 +5 24 4.155 -5 -4.493 4.164 -5.055 -4.499 4.101 -5 -4.357 4.257 -5 -4.598 +5 24 0.744 -5.133 -4.55 0.865 -5.101 -4.625 0.744 -5.245 -4.625 0.744 -5 -4.524 +5 24 4.817 -5.133 3.914 4.866 -5.144 3.937 4.809 -5.245 3.82 4.854 -5 3.963 +5 24 5.959 -5.375 1.637 6.021 -5.346 1.508 6.089 -5.346 1.699 5.83 -5.346 1.576 +5 24 -4.437 -5.375 2.544 -4.378 -5.346 2.675 -4.568 -5.346 2.603 -4.306 -5.346 2.485 +5 24 3.739 -5.346 -1.569 3.779 -5.346 -1.53 3.638 -5.265 -1.5 3.857 -5.375 -1.65 +5 24 4.474 -5.187 -4.613 4.521 -5.101 -4.646 4.59 -5.245 -4.546 4.357 -5.101 -4.632 +5 24 -5.804 -5.32 -2.515 -5.695 -5.346 -2.44 -5.731 -5.346 -2.64 -5.847 -5.245 -2.398 +5 24 4.958 -5.101 3.981 4.986 -5.055 3.994 5.07 -5.187 3.944 4.854 -5 3.963 +5 24 -5.943 -5.346 1.887 -5.808 -5.375 1.938 -5.952 -5.346 1.942 -5.913 -5.346 1.839 +5 24 5.708 -5 1.359 5.732 -5.133 1.37 5.62 -5 1.476 5.833 -5 1.284 +5 24 -1.283 -5.346 6.229 -1.181 -5.375 6.128 -1.314 -5.346 6.183 -1.236 -5.346 6.26 +2 24 -1.325 -5 3.681 -1.181 -5 3.653 +5 24 -2.901 -5.101 2.921 -2.883 -5 2.912 -2.883 -5.133 2.779 -2.97 -5.055 3.041 +5 24 3.5 -5.375 1.687 5.487 -5.375 2.631 3.438 -5.346 1.816 3.562 -5.346 1.557 +5 24 1.306 -5.265 3.84 1.364 -5.265 3.926 1.364 -5.144 3.783 1.22 -5.346 3.926 +5 24 -6.124 -5.144 2.08 -6.05 -5.265 2.047 -6.155 -5.144 1.948 -5.372 -5.144 3.745 +2 24 4.779 -5 -4.501 5.814 -5 -2.996 +5 24 -3.08 -5 3.121 -2.97 -5.055 3.041 -2.999 -5.101 3.054 -2.96 -5 3.036 +5 24 -3.398 -5.245 3.011 -3.296 -5.32 2.965 -3.475 -5.265 2.889 -3.296 -5.187 3.099 +2 24 0.744 -5 -5.216 0.865 -5 -5.135 +5 24 0.946 -5.055 -4.737 0.975 -5 -4.87 0.946 -5.101 -4.769 0.946 -5 -4.726 +5 24 4.166 -5.346 -3.219 4.266 -5.265 -3.287 4.076 -5.32 -3.331 4.717 -5.346 -2.417 +5 24 4.901 -5.265 3.864 4.953 -5.346 3.754 4.993 -5.245 3.907 4.809 -5.245 3.82 +2 24 -4.618 -5.265 -3.53 -4.505 -5.144 -3.55 +5 24 -1.003 -5.265 6.324 0.854 -5.265 4.631 -0.948 -5.144 6.384 -1.085 -5.346 6.234 +5 24 -5.493 -5.245 -2.301 -5.431 -5.133 -2.258 -5.395 -5.265 -2.407 -5.61 -5.187 -2.233 +5 24 -5.731 -5.346 -2.64 -4.987 -5.375 -3.463 -5.613 -5.375 -2.558 -4.479 -5.346 -4.449 +5 24 2.735 -5.055 -3.516 2.744 -5 -3.522 2.873 -5.101 -3.513 2.609 -5 -3.464 +5 24 4.64 -5 3.605 4.664 -5.133 3.617 4.676 -5 3.463 4.662 -5 3.75 +5 24 -0.865 -5.245 -4.769 -0.865 -5.187 -4.683 -0.744 -5.32 -4.737 -0.946 -5.133 -4.815 +5 24 0.772 -5 6.271 0.799 -5.133 6.271 0.744 -5 6.128 0.854 -5 6.393 +5 24 -4.897 -5.375 1.526 -4.437 -5.375 2.544 -4.707 -5.346 1.598 -4.968 -5.346 1.716 +5 24 -4.57 -5 2.895 -4.551 -5.101 2.887 -4.694 -5 2.818 -4.425 -5 2.919 +5 24 5.175 -5.245 3.859 5.254 -5.265 3.738 5.073 -5.32 3.811 5.242 -5.133 3.891 +5 24 -1.236 -5.133 3.681 -1.181 -5 3.653 -1.283 -5.101 3.681 -1.181 -5.144 3.681 +5 24 1.251 -5.32 6.271 1.262 -5.346 6.128 1.364 -5.245 6.271 1.119 -5.346 6.271 +5 24 0.744 -5.32 -4.737 0.744 -5.245 -4.625 0.6 -5.346 -4.726 0.865 -5.245 -4.769 +5 24 -1.049 -5.144 6.448 -0.948 -5.144 6.384 -1.08 -5.265 6.373 -1.038 -5 6.474 +5 24 -4.283 -5 2.886 -4.202 -5.101 2.818 -4.245 -5.133 2.837 -4.174 -5.055 2.806 +5 24 5.723 -5.265 -2.934 5.764 -5.265 -2.838 5.623 -5.346 -2.865 5.79 -5.144 -2.98 +2 24 -4.779 -5 2.699 -4.694 -5 2.818 +5 24 -0.6 -5.346 -5.014 -0.6 -5.265 -5.135 -0.744 -5.32 -5.003 0.6 -5.346 -5.014 +5 24 3.742 -5.055 -3.348 3.768 -5.101 -3.365 3.696 -5.101 -3.217 3.835 -5 -3.446 +2 24 -5.98 -5 -2.637 -5.921 -5 -2.771 +5 24 1.306 -5.188 6.393 1.364 -5.101 6.393 1.364 -5.245 6.271 1.22 -5.101 6.474 +5 24 -5.298 -5.265 3.712 -5.187 -5.346 3.662 -6.05 -5.265 2.047 -5.221 -5.245 3.834 +5 24 -2.975 -5 -1.895 -2.969 -5.055 -1.904 -3.111 -5 -1.842 -2.87 -5 -1.997 +5 24 5.586 -5.346 -2.665 5.625 -5.346 -2.705 5.655 -5.265 -2.565 5.505 -5.375 -2.783 +5 24 3.304 -5.245 1.481 3.341 -5.187 1.403 3.211 -5.133 1.488 3.427 -5.32 1.505 +5 24 3.13 -5.055 1.658 3.143 -5.101 1.629 3.155 -5.101 1.794 3.161 -5 1.526 +5 24 -3.099 -5.101 -1.858 -2.969 -5.055 -1.904 -3.067 -5.187 -1.906 -3.111 -5 -1.842 +5 24 4.187 -5.245 -4.268 4.279 -5.32 -4.332 4.251 -5.265 -4.138 4.165 -5.187 -4.401 +5 24 -6.073 -5.265 1.946 -5.952 -5.346 1.942 -6.056 -5.265 1.844 -6.05 -5.265 2.047 +5 24 -1.049 -5.32 3.884 -0.936 -5.245 3.884 -1.038 -5.346 4.028 -1.08 -5.245 3.762 +5 24 1.364 -5.101 6.393 1.384 -5 6.393 1.439 -5.133 6.271 1.251 -5.055 6.474 +5 24 -4.724 -5.101 3.743 -4.706 -5.133 3.602 -4.777 -5.187 3.767 -4.706 -5 3.735 +2 24 -4.465 -5 -3.558 -4.053 -5 -4.154 +5 24 -4.543 -5.133 -4.667 -4.412 -5.101 -4.725 -4.481 -5.245 -4.625 -4.564 -5 -4.682 +5 24 -4.987 -5.375 -3.463 -4.479 -5.346 -4.449 -5.731 -5.346 -2.64 -4.361 -5.375 -4.367 +5 24 -1.314 -5.32 3.884 -1.283 -5.245 3.762 -1.426 -5.245 3.884 -1.181 -5.346 3.884 +5 24 5.487 -5.375 2.631 6.089 -5.346 1.699 5.959 -5.375 1.637 5.144 -5.346 3.686 +5 24 3.809 -5.265 -1.389 3.831 -5.346 -1.509 3.912 -5.265 -1.391 3.712 -5.265 -1.428 +5 24 4.228 -5.133 -4.543 4.274 -5.144 -4.574 4.236 -5.245 -4.45 4.257 -5 -4.598 +2 24 -0.946 -5 -4.726 -0.865 -5 -4.605 +5 24 -0.6 -5.265 -5.135 0.6 -5.265 -5.135 -0.6 -5.346 -5.014 -0.6 -5.144 -5.216 +5 24 -6.124 -5.144 2.08 -5.372 -5.144 3.745 -6.05 -5.265 2.047 -6.15 -5 2.092 +2 24 5.309 -5 2.131 5.323 -5.144 2.169 +5 24 3.762 -5.144 -2.941 4.199 -5.144 -2.306 3.829 -5.265 -2.987 3.739 -5 -2.925 +5 24 3.806 -5.133 -3.392 3.852 -5.144 -3.423 3.814 -5.245 -3.298 3.835 -5 -3.446 +2 24 -4.564 -5 -4.682 -4.428 -5 -4.736 +5 24 2.588 -5.245 -3.316 2.672 -5.265 -3.374 2.631 -5.32 -3.199 2.58 -5.133 -3.41 +5 24 4.681 -5.375 -2.217 5.505 -5.375 -2.783 5.586 -5.346 -2.665 4.717 -5.346 -2.417 +5 24 -1.181 -5.144 6.474 -1.049 -5.144 6.448 -1.181 -5 6.503 -1.181 -5.265 6.393 +5 24 -4.964 -5.133 3.941 -4.902 -5 3.944 -5.007 -5.101 3.96 -4.914 -5.144 3.918 +5 24 4.257 -5 -4.598 4.383 -5.055 -4.649 4.357 -5.101 -4.632 4.392 -5 -4.655 +5 24 -1.325 -5.346 6.128 -1.314 -5.346 6.183 -1.446 -5.265 6.128 -1.181 -5.375 6.128 +5 24 -4.209 -5.133 -4.683 -4.148 -5 -4.675 -4.164 -5.144 -4.652 -4.247 -5.101 -4.71 +5 24 -2.878 -5.133 -2.392 -2.821 -5.101 -2.261 -2.921 -5.245 -2.33 -2.863 -5 -2.414 +2 24 -0.835 -5.144 5.343 -0.806 -5 5.278 +5 24 1.465 -5.144 4.028 1.465 -5.144 6.128 1.494 -5 4.028 1.384 -5.265 4.028 +5 24 4.053 -5.144 -1.365 5.701 -5.144 -2.498 4.069 -5 -1.341 4.007 -5.265 -1.432 +5 24 -3.135 -5.32 -2.02 -3.06 -5.346 -2.129 -3.018 -5.245 -1.976 -3.26 -5.346 -2.093 +5 24 0.865 -5.101 -5.115 0.946 -5.055 -5.003 0.865 -5 -5.135 0.865 -5.187 -5.058 +5 24 -5.958 -5.133 -2.622 -5.898 -5.144 -2.755 -5.896 -5.245 -2.579 -5.98 -5 -2.637 +2 24 -6.183 -5 1.949 -6.159 -5 1.805 +5 24 3.794 -5.144 -1.309 3.929 -5.144 -1.311 3.809 -5.265 -1.389 3.789 -5 -1.281 +5 24 -6.132 -5.144 1.815 -6.056 -5.265 1.844 -6.155 -5.144 1.948 -6.061 -5.144 1.7 +5 24 -3.997 -5 0.74 -3.996 -5.144 0.768 -3.853 -5 0.764 -4.14 -5 0.773 +5 24 4.885 -5.346 3.563 5.296 -5.346 2.699 5.015 -5.375 3.624 4.775 -5.265 3.51 +5 24 3.739 -5.346 -1.569 3.857 -5.375 -1.65 3.779 -5.346 -1.53 2.704 -5.346 -3.074 +5 24 -4.416 -5.055 2.915 -4.387 -5.101 2.902 -4.551 -5.101 2.887 -4.283 -5 2.886 +5 24 -1.426 -5.265 6.229 -1.369 -5.265 6.315 -1.501 -5.144 6.26 -1.314 -5.346 6.183 +5 24 -1.181 -5.144 6.474 -1.181 -5 6.503 -1.314 -5.144 6.448 -1.049 -5.144 6.448 +5 24 -5.586 -5.32 -2.365 -5.493 -5.245 -2.301 -5.495 -5.346 -2.476 -5.68 -5.245 -2.282 +5 24 2.94 -5.346 -3.237 3.893 -5.346 -1.85 2.822 -5.375 -3.155 3.04 -5.265 -3.306 +5 24 0.744 -5.245 -5.115 0.744 -5.133 -5.19 0.6 -5.265 -5.135 0.865 -5.187 -5.058 +5 24 -0.994 -5.187 3.762 -0.936 -5.245 3.884 -0.936 -5.101 3.762 -1.08 -5.245 3.762 +5 24 0.986 -5.144 3.708 1.119 -5.144 3.681 0.975 -5 3.681 1.017 -5.265 3.783 +5 24 3.351 -5.144 1.999 3.386 -5.265 1.926 3.233 -5.133 1.914 5.025 -5.144 2.795 +5 24 -3.744 -5.265 1.006 -2.992 -5.265 2.671 -3.855 -5.346 1.056 -3.67 -5.144 0.972 +5 24 5.015 -5.375 3.624 5.487 -5.375 2.631 4.885 -5.346 3.563 5.144 -5.346 3.686 +2 24 4.103 -5 -4.211 4.161 -5 -4.076 +5 24 6.14 -5.32 1.565 6.165 -5.245 1.441 6.021 -5.346 1.508 6.242 -5.245 1.613 +2 24 3.519 -5 1.312 3.661 -5 1.348 +2 24 -4.92 -5.265 -3.094 -4.899 -5.144 -2.981 +5 24 4.161 -5 -4.076 4.184 -5.144 -4.092 4.103 -5 -4.211 4.983 -5 -2.88 +5 24 -5.965 -5.101 -2.479 -5.958 -5.133 -2.622 -5.918 -5.187 -2.447 -5.982 -5 -2.491 +2 24 -0.835 -5 3.884 -0.806 -5 4.028 +5 24 4.732 -5.245 3.649 4.834 -5.32 3.697 4.775 -5.265 3.51 4.732 -5.187 3.783 +5 24 0.931 -5.188 6.393 1.017 -5.245 6.393 0.874 -5.245 6.271 1.017 -5.101 6.474 +5 24 4.403 -5.245 -4.565 4.498 -5.32 -4.482 4.474 -5.187 -4.613 4.32 -5.265 -4.507 +5 24 -4.67 -5.133 2.807 -4.551 -5.101 2.887 -4.601 -5.245 2.776 -4.694 -5 2.818 +5 24 1.306 -5.188 6.393 1.364 -5.245 6.271 1.364 -5.101 6.393 1.22 -5.245 6.393 +5 24 5.846 -5.144 -2.72 5.874 -5 -2.715 5.844 -5.144 -2.855 5.795 -5.144 -2.595 +5 24 -0.6 -5.265 -5.135 -0.6 -5.144 -5.216 -0.744 -5.245 -5.115 0.6 -5.265 -5.135 +5 24 0.744 -5 6.128 0.772 -5.144 6.128 0.772 -5 6.271 0.744 -5 4.879 +5 24 6.199 -5.101 1.368 6.242 -5.187 1.478 6.157 -5.133 1.348 6.228 -5.055 1.381 +5 24 -5.917 -5.265 1.696 -4.095 -5.265 0.873 -5.867 -5.346 1.807 -5.951 -5.144 1.622 +5 24 -3.365 -5.346 2.839 -3.296 -5.32 2.965 -3.234 -5.375 2.78 -3.475 -5.265 2.889 +5 24 4.164 -5.055 -4.499 4.257 -5 -4.598 4.19 -5.101 -4.517 4.155 -5 -4.493 +5 24 -0.6 -5.144 -4.524 -0.6 -5 -4.495 -0.744 -5.133 -4.55 0.6 -5.144 -4.524 +5 24 -5.187 -5.346 3.662 -5.057 -5.375 3.603 -5.939 -5.346 1.997 -5.118 -5.32 3.788 +5 24 4.809 -5.245 3.82 4.834 -5.32 3.697 4.901 -5.265 3.864 4.732 -5.187 3.783 +5 24 4.652 -5.133 -4.588 4.755 -5.144 -4.485 4.59 -5.245 -4.546 4.674 -5 -4.603 +5 24 -5.894 -5.101 -2.331 -5.855 -5.133 -2.304 -5.918 -5.187 -2.447 -5.826 -5 -2.25 +5 24 -4.926 -5.346 3.544 -4.877 -5.32 3.679 -5.057 -5.375 3.603 -4.815 -5.265 3.493 +5 24 -4.294 -5.245 -4.643 -4.209 -5.133 -4.683 -4.21 -5.265 -4.585 -4.364 -5.187 -4.692 +2 24 3.131 -5 -3.368 3.953 -5 -2.172 +5 24 -5.918 -5.187 -2.447 -5.896 -5.245 -2.579 -5.847 -5.245 -2.398 -5.965 -5.101 -2.479 +5 24 0.772 -5.144 6.128 0.799 -5.133 6.271 0.744 -5 6.128 0.854 -5.265 6.128 +2 24 -5.084 -5 2.023 -5.07 -5.144 1.985 +2 24 -4.148 -5 -4.675 -4.046 -5 -4.57 +5 24 -3.985 -5.375 1.115 -3.935 -5.346 0.98 -3.99 -5.346 0.971 -3.887 -5.346 1.01 +5 24 3.857 -5.375 -1.65 3.938 -5.346 -1.532 3.887 -5.346 -1.51 4.681 -5.375 -2.217 +5 24 -5.35 -5.144 2.111 -4.741 -5.144 3.46 -5.457 -5.265 2.071 -5.312 -5 2.126 +5 24 -4.095 -5.265 0.873 -3.994 -5.265 0.85 -4.045 -5.346 0.984 -4.128 -5.144 0.799 +5 24 4.357 -5.101 -4.632 4.474 -5.187 -4.613 4.319 -5.133 -4.605 4.383 -5.055 -4.649 +5 24 4.23 -5.133 -3.437 4.252 -5 -3.452 4.333 -5.144 -3.334 4.1 -5.101 -3.495 +2 24 4.996 -5 3.999 5.141 -5 3.978 +2 24 -0.929 -5 6.405 0.744 -5 4.879 +5 24 5.701 -5.144 -2.498 5.795 -5.144 -2.595 5.655 -5.265 -2.565 5.717 -5 -2.474 +5 24 3.806 -5.133 -3.392 3.835 -5 -3.446 3.852 -5.144 -3.423 3.768 -5.101 -3.365 +5 24 3.935 -5.101 -3.48 4.052 -5.187 -3.462 3.897 -5.133 -3.454 3.961 -5.055 -3.498 +5 24 4.168 -5.245 -3.394 4.266 -5.265 -3.287 4.076 -5.32 -3.331 4.23 -5.133 -3.437 +5 24 -5.847 -5.245 -2.398 -5.804 -5.32 -2.515 -5.764 -5.265 -2.34 -5.918 -5.187 -2.447 +5 24 5.904 -5.187 1.317 6.016 -5.101 1.281 5.981 -5.245 1.354 5.852 -5.101 1.293 +5 24 -0.865 -5.187 -4.683 -0.744 -5.245 -4.625 -0.865 -5.245 -4.769 -0.865 -5.101 -4.625 +5 24 4.688 -5.265 -4.439 5.723 -5.265 -2.934 4.588 -5.346 -4.37 4.755 -5.144 -4.485 +2 24 -1.556 -5 4.028 -1.528 -5 3.884 +5 24 3.37 -5.346 1.625 3.5 -5.375 1.687 3.313 -5.32 1.745 3.427 -5.32 1.505 +2 24 3.026 -5 -3.47 3.131 -5 -3.368 +5 24 1.251 -5.346 3.973 1.262 -5.346 4.028 1.364 -5.265 3.926 1.119 -5.375 4.028 +5 24 -5.928 -5 -2.355 -5.919 -5.055 -2.349 -5.982 -5 -2.491 -5.826 -5 -2.25 +5 24 -1.181 -5.346 6.271 -1.126 -5.346 6.26 -1.181 -5.265 6.393 -1.181 -5.375 6.128 +2 24 4.676 -5 3.463 4.987 -5 2.808 +5 24 -5.867 -5.346 1.807 -4.897 -5.375 1.526 -5.808 -5.375 1.938 -4.045 -5.346 0.984 +5 24 -4.998 -5.346 3.733 -4.877 -5.32 3.679 -5.057 -5.375 3.603 -4.948 -5.265 3.844 +5 24 -5.855 -5.133 -2.304 -5.81 -5.144 -2.273 -5.847 -5.245 -2.398 -5.826 -5 -2.25 +5 24 -4.987 -5.375 -3.463 -4.361 -5.375 -4.367 -4.787 -5.346 -3.499 -4.479 -5.346 -4.449 +5 24 -4.753 -5.144 2.687 -4.679 -5.265 2.653 -4.67 -5.133 2.807 -5.07 -5.144 1.985 +5 24 -6.002 -5.265 1.756 -5.913 -5.346 1.839 -6.056 -5.265 1.844 -5.917 -5.265 1.696 +2 24 -5.457 -5.265 2.071 -5.35 -5.144 2.111 +5 24 -2.818 -5.055 -2.122 -2.811 -5 -2.131 -2.821 -5.101 -2.261 -2.87 -5 -1.997 +2 24 0.744 -5 -4.524 0.865 -5 -4.605 +5 24 4.164 -5.055 -4.499 4.19 -5.101 -4.517 4.118 -5.101 -4.368 4.257 -5 -4.598 +5 24 -4.016 -5.133 -4.303 -4.009 -5.101 -4.446 -4.078 -5.245 -4.346 -3.995 -5 -4.288 +5 24 3.614 -5.265 1.447 5.361 -5.265 2.277 3.562 -5.346 1.557 3.649 -5.144 1.374 +5 24 -4.306 -5.346 2.485 -4.196 -5.265 2.435 -4.257 -5.32 2.621 -4.707 -5.346 1.598 +5 24 6.058 -5.133 1.301 6.12 -5 1.299 6.108 -5.144 1.324 6.016 -5.101 1.281 +5 24 4.352 -5.346 -4.207 4.47 -5.375 -4.289 4.279 -5.32 -4.332 5.305 -5.346 -2.821 +2 24 -4.118 -5.265 1.466 -4.057 -5.346 1.305 +5 24 -4.127 -5.245 -4.527 -4.119 -5.133 -4.621 -4.21 -5.265 -4.585 -4.056 -5.187 -4.478 +5 24 -1.181 -5.265 6.393 -1.181 -5.144 6.474 -1.283 -5.265 6.373 -1.08 -5.265 6.373 +5 24 2.539 -5.245 -3.135 2.603 -5.265 -3.005 2.631 -5.32 -3.199 2.477 -5.133 -3.092 +5 24 -4.479 -5.346 -4.449 -4.388 -5.32 -4.561 -4.361 -5.375 -4.367 -4.579 -5.265 -4.518 +5 24 5.254 -5.265 3.738 6.199 -5.265 1.751 5.144 -5.346 3.686 5.328 -5.144 3.773 +2 24 -5.921 -5 -2.771 -4.669 -5 -4.58 +5 24 3.696 -5.101 -3.217 3.743 -5.187 -3.25 3.703 -5.133 -3.074 3.742 -5.055 -3.348 +5 24 2.609 -5 -3.464 2.671 -5.133 -3.472 2.626 -5.144 -3.441 2.709 -5.101 -3.498 +5 24 6.108 -5.144 1.324 6.157 -5.133 1.348 6.073 -5.265 1.398 6.12 -5 1.299 +5 24 -3.26 -5.346 -2.093 -3.135 -5.32 -2.02 -3.178 -5.375 -2.211 -3.329 -5.265 -1.993 +5 24 2.709 -5.101 -3.498 2.826 -5.187 -3.48 2.671 -5.133 -3.472 2.735 -5.055 -3.516 +5 24 4.403 -5.245 -4.565 4.474 -5.187 -4.613 4.498 -5.32 -4.482 4.319 -5.133 -4.605 +5 24 -4.143 -5.265 -4.216 -4.078 -5.245 -4.346 -4.243 -5.346 -4.285 -4.076 -5.144 -4.17 +5 24 -4.247 -5.101 -4.71 -4.148 -5 -4.675 -4.209 -5.133 -4.683 -4.273 -5.055 -4.727 +5 24 -5.618 -5.346 2.01 -4.926 -5.346 3.544 -5.808 -5.375 1.938 -5.457 -5.265 2.071 +5 24 3.829 -5.265 -2.987 3.93 -5.346 -3.056 3.765 -5.245 -3.117 4.312 -5.265 -2.285 +5 24 -3.296 -5.187 3.099 -3.217 -5.245 3.063 -3.398 -5.245 3.011 -3.184 -5.101 3.137 +5 24 3.649 -5.144 1.374 5.323 -5.144 2.169 3.614 -5.265 1.447 3.661 -5 1.348 +5 24 0.946 -5.101 -4.769 0.946 -5.055 -4.737 0.865 -5.187 -4.683 0.975 -5 -4.87 +5 24 0.865 -5.101 -5.115 0.865 -5 -5.135 0.744 -5.133 -5.19 0.946 -5.055 -5.003 +5 24 1.119 -5.346 3.884 1.174 -5.346 3.895 1.119 -5.265 3.762 1.119 -5.375 4.028 +5 24 -4.057 -5.346 1.305 -3.365 -5.346 2.839 -3.985 -5.375 1.115 -4.118 -5.265 1.466 +5 24 -1.314 -5.144 6.448 -1.283 -5.265 6.373 -1.426 -5.144 6.373 -1.181 -5.144 6.474 +5 24 -0.865 -5.187 -5.058 -0.744 -5.245 -5.115 -0.865 -5.101 -5.115 -0.865 -5.245 -4.971 +5 24 4.32 -5.265 -4.507 4.389 -5.346 -4.407 4.403 -5.245 -4.565 4.236 -5.245 -4.45 +5 24 -2.951 -5.101 -1.93 -2.924 -5.133 -1.968 -3.067 -5.187 -1.906 -2.87 -5 -1.997 +5 24 3.244 -5.055 1.418 3.366 -5.101 1.351 3.231 -5.101 1.446 3.249 -5 1.408 +2 24 -0.744 -5 -5.216 -0.6 -5 -5.245 +5 24 -4.055 -5.055 -4.577 -4.046 -5 -4.57 -4.009 -5.101 -4.446 -4.148 -5 -4.675 +5 24 3.231 -5.101 1.446 3.244 -5.055 1.418 3.341 -5.187 1.403 3.161 -5 1.526 +5 24 3.743 -5.187 -3.25 3.814 -5.245 -3.298 3.765 -5.245 -3.117 3.768 -5.101 -3.365 +2 24 -3.997 -5 0.74 -3.853 -5 0.764 +5 24 1.064 -5.346 3.895 1.119 -5.375 4.028 1.014 -5.346 3.931 1.119 -5.346 3.884 +5 24 -2.87 -5 -1.997 -2.862 -5.133 -2.059 -2.893 -5.144 -2.013 -2.835 -5.101 -2.097 +5 24 4.755 -5.144 -4.485 5.79 -5.144 -2.98 4.688 -5.265 -4.439 4.779 -5 -4.501 +2 24 4.257 -5 -4.598 4.392 -5 -4.655 +5 24 3.668 -5.144 -1.36 3.794 -5.144 -1.309 3.712 -5.265 -1.428 3.653 -5 -1.336 +5 24 -1.003 -5.265 6.324 -0.948 -5.144 6.384 0.854 -5.265 4.631 -1.08 -5.265 6.373 +5 24 5.655 -5.265 -2.565 5.727 -5.265 -2.639 5.586 -5.346 -2.665 5.701 -5.144 -2.498 +5 24 -0.946 -5.101 -4.971 -0.946 -5.055 -5.003 -0.865 -5.187 -5.058 -0.975 -5 -4.87 +5 24 0.928 -5.265 3.845 1.017 -5.265 3.783 1.014 -5.346 3.931 0.871 -5.144 3.787 +2 24 -5.312 -5 2.126 -5.084 -5 2.023 +5 24 4.389 -5.346 -4.407 4.498 -5.32 -4.482 4.47 -5.375 -4.289 4.32 -5.265 -4.507 +5 24 -2.951 -5.101 -1.93 -2.87 -5 -1.997 -2.924 -5.133 -1.968 -2.969 -5.055 -1.904 +5 24 -1.08 -5.265 6.373 -1.003 -5.265 6.324 -1.049 -5.144 6.448 -1.126 -5.346 6.26 +5 24 -5.921 -5 -2.771 -5.898 -5.144 -2.755 -5.98 -5 -2.637 -4.669 -5 -4.58 +5 24 3.852 -5.144 -3.423 3.898 -5.265 -3.356 3.897 -5.133 -3.454 3.806 -5.133 -3.392 +5 24 -0.744 -5.346 -4.87 -0.744 -5.32 -4.737 -0.865 -5.265 -4.87 -0.6 -5.375 -4.87 +5 24 6.272 -5.144 1.786 6.298 -5 1.798 6.31 -5.133 1.645 5.328 -5.144 3.773 +5 24 -1.181 -5.144 3.681 -1.181 -5 3.653 -1.236 -5.133 3.681 -1.126 -5.133 3.681 +5 24 -1.446 -5 6.393 -1.426 -5.144 6.373 -1.528 -5 6.271 -1.325 -5 6.474 +5 24 -4.361 -5.375 -4.367 -4.243 -5.346 -4.285 -4.987 -5.375 -3.463 -4.279 -5.346 -4.485 +5 24 3.857 -5.32 -3.18 3.967 -5.346 -3.255 3.93 -5.346 -3.056 3.814 -5.245 -3.298 +5 24 -3.365 -5.346 2.839 -3.234 -5.375 2.78 -3.296 -5.32 2.965 -4.057 -5.346 1.305 +2 24 -1.556 -5 6.128 -1.528 -5 6.271 +5 24 4.866 -5.144 3.937 4.901 -5.265 3.864 4.916 -5.133 3.961 4.817 -5.133 3.914 +5 24 -4.777 -5.187 3.767 -4.774 -5.245 3.633 -4.855 -5.245 3.803 -4.724 -5.101 3.743 +5 24 -5.313 -5 3.876 -5.289 -5.133 3.865 -5.398 -5 3.757 -5.189 -5 3.953 +5 24 -3.329 -5.265 -1.993 -3.26 -5.346 -2.093 -3.199 -5.245 -1.928 -4.92 -5.265 -3.094 +5 24 1.364 -5.245 6.271 1.439 -5.133 6.271 1.384 -5.265 6.128 1.306 -5.188 6.393 +5 24 -5.68 -5.245 -2.282 -5.586 -5.32 -2.365 -5.764 -5.265 -2.34 -5.61 -5.187 -2.233 +5 24 -4.412 -5.101 -4.725 -4.273 -5.055 -4.727 -4.364 -5.187 -4.692 -4.428 -5 -4.736 +5 24 -1.181 -5.346 6.271 -1.181 -5.265 6.393 -1.236 -5.346 6.26 -1.126 -5.346 6.26 +5 24 4.746 -5.055 3.88 4.854 -5 3.963 4.775 -5.101 3.894 4.737 -5 3.876 +5 24 -4.706 -5.133 3.602 -4.682 -5 3.591 -4.741 -5.144 3.46 -4.724 -5.101 3.743 +5 24 -4.202 -5.101 2.818 -4.174 -5.055 2.806 -4.157 -5.187 2.709 -4.283 -5 2.886 +5 24 3.696 -5.101 -3.217 3.742 -5.055 -3.348 3.743 -5.187 -3.25 3.679 -5 -3.206 +5 24 2.755 -5.245 -3.431 2.85 -5.32 -3.349 2.672 -5.265 -3.374 2.826 -5.187 -3.48 +5 24 -4.421 -5.245 2.828 -4.345 -5.133 2.883 -4.328 -5.265 2.786 -4.499 -5.187 2.863 +5 24 -0.744 -5.133 -5.19 -0.744 -5 -5.216 -0.865 -5.101 -5.115 -0.6 -5.144 -5.216 +5 24 -5.221 -5.245 3.834 -5.118 -5.32 3.788 -5.298 -5.265 3.712 -5.118 -5.187 3.921 +5 24 -4.345 -5.133 2.883 -4.295 -5.144 2.86 -4.421 -5.245 2.828 -4.283 -5 2.886 +2 24 -1.181 -5 6.503 -1.038 -5 6.474 +5 24 5.901 -5.32 1.451 5.981 -5.245 1.354 6.021 -5.346 1.508 5.799 -5.245 1.402 +5 24 5.487 -5.375 2.631 5.959 -5.375 1.637 6.089 -5.346 1.699 5.419 -5.346 2.44 +5 24 0.946 -5.101 -4.971 0.975 -5 -4.87 0.946 -5.055 -5.003 0.946 -5.133 -4.925 +5 24 -5.118 -5.32 3.788 -4.998 -5.346 3.733 -5.187 -5.346 3.662 -5.04 -5.245 3.886 +5 24 3.313 -5.32 1.745 3.438 -5.346 1.816 3.37 -5.346 1.625 3.265 -5.245 1.846 +2 24 5.136 -5.265 -2.852 5.305 -5.346 -2.821 +2 24 -1.325 -5 6.474 -1.181 -5 6.503 +5 24 6.242 -5.187 1.478 6.294 -5.101 1.503 6.242 -5.245 1.613 6.199 -5.101 1.368 +5 24 -5.727 -5.101 -2.215 -5.61 -5.187 -2.233 -5.765 -5.133 -2.242 -5.701 -5.055 -2.198 +5 24 1.017 -5.245 6.393 1.064 -5.133 6.474 0.931 -5.188 6.393 1.119 -5.265 6.393 +5 24 2.455 -5 -3.077 2.477 -5.133 -3.092 2.513 -5 -2.943 2.453 -5 -3.224 +5 24 -1.181 -5.375 4.028 -1.181 -5.346 3.884 -1.325 -5.346 4.028 -1.038 -5.346 4.028 +2 24 -4.095 -5 2.39 -4.062 -5 2.533 +5 24 3.438 -5.346 1.816 5.296 -5.346 2.699 3.5 -5.375 1.687 3.386 -5.265 1.926 +5 24 -3.296 -5.32 2.965 -3.217 -5.245 3.063 -3.175 -5.346 2.91 -3.398 -5.245 3.011 +5 24 3.562 -5.346 1.557 5.419 -5.346 2.44 3.5 -5.375 1.687 3.614 -5.265 1.447 +5 24 5.242 -5.133 3.891 5.328 -5.144 3.773 5.175 -5.245 3.859 5.266 -5 3.903 +5 24 5.073 -5.32 3.811 5.144 -5.346 3.686 4.953 -5.346 3.754 5.175 -5.245 3.859 +5 24 5.144 -5.346 3.686 6.089 -5.346 1.699 5.254 -5.265 3.738 5.487 -5.375 2.631 +5 24 3.244 -5.055 1.418 3.249 -5 1.408 3.366 -5.101 1.351 3.161 -5 1.526 +5 24 -2.821 -5.101 -2.261 -2.818 -5.055 -2.122 -2.853 -5.187 -2.214 -2.809 -5 -2.278 +5 24 0.6 -5.265 -4.605 0.744 -5.245 -4.625 0.6 -5.346 -4.726 0.6 -5.144 -4.524 +5 24 -4.148 -5 -4.675 -4.055 -5.055 -4.577 -4.08 -5.101 -4.594 -4.046 -5 -4.57 +5 24 -5.187 -5.346 3.662 -5.118 -5.32 3.788 -5.298 -5.265 3.712 -5.057 -5.375 3.603 +5 24 -5.613 -5.375 -2.558 -4.987 -5.375 -3.463 -5.731 -5.346 -2.64 -5.495 -5.346 -2.476 +5 24 3.508 -5.133 1.336 3.519 -5 1.312 3.366 -5.101 1.351 3.649 -5.144 1.374 +5 24 -5.731 -5.346 -2.64 -5.613 -5.375 -2.558 -5.804 -5.32 -2.515 -4.987 -5.375 -3.463 +5 24 -4.948 -5.265 3.844 -4.855 -5.245 3.803 -4.998 -5.346 3.733 -4.914 -5.144 3.918 +5 24 -1.314 -5.055 3.681 -1.283 -5.101 3.681 -1.426 -5.101 3.762 -1.181 -5 3.653 +5 24 -1.325 -5.346 6.128 -1.181 -5.375 6.128 -1.314 -5.346 6.183 -1.325 -5.346 4.028 +5 24 -2.954 -5.187 2.944 -2.951 -5.245 2.81 -3.032 -5.245 2.98 -2.901 -5.101 2.921 +5 24 0.6 -5.346 -5.014 0.744 -5.32 -5.003 0.6 -5.265 -5.135 0.6 -5.375 -4.87 +5 24 -6.159 -5 1.805 -6.132 -5.144 1.815 -6.183 -5 1.949 -6.082 -5 1.681 +5 24 0.946 -5.055 -4.737 0.946 -5 -4.726 0.865 -5.101 -4.625 0.975 -5 -4.87 +2 24 -5.398 -5 3.757 -5.313 -5 3.876 +2 24 3.222 -5 1.938 3.339 -5 2.025 +5 24 -3.234 -5.375 2.78 -3.175 -5.346 2.91 -3.103 -5.346 2.721 -3.365 -5.346 2.839 +5 24 3.681 -5 -3.059 3.703 -5.133 -3.074 3.739 -5 -2.925 3.679 -5 -3.206 +5 24 -0.865 -5.245 -4.971 -0.865 -5.187 -5.058 -0.946 -5.133 -4.925 -0.744 -5.32 -5.003 +5 24 -0.994 -5.187 3.762 -0.936 -5.101 3.762 -0.936 -5.245 3.884 -1.08 -5.101 3.681 +5 24 4.251 -5.265 -4.138 4.352 -5.346 -4.207 4.187 -5.245 -4.268 5.136 -5.265 -2.852 +5 24 4.588 -5.346 -4.37 5.623 -5.346 -2.865 4.688 -5.265 -4.439 4.47 -5.375 -4.289 +2 24 3.125 -5 1.667 3.147 -5 1.812 +5 24 -5.727 -5.101 -2.215 -5.701 -5.055 -2.198 -5.61 -5.187 -2.233 -5.826 -5 -2.25 +5 24 6.108 -5.144 1.324 6.12 -5 1.299 6.157 -5.133 1.348 6.058 -5.133 1.301 +5 24 -3.175 -5.346 2.91 -3.125 -5.265 3.021 -3.054 -5.32 2.856 -3.296 -5.32 2.965 +5 24 1.262 -5.346 4.028 1.262 -5.346 6.128 1.384 -5.265 4.028 1.119 -5.375 4.028 +2 24 -4.158 -5.144 1.573 -4.118 -5.265 1.466 +5 24 -4.787 -5.346 -3.499 -3.096 -5.346 -2.329 -4.987 -5.375 -3.463 -4.618 -5.265 -3.53 +5 24 -0.6 -5.375 -4.87 0.6 -5.375 -4.87 -0.6 -5.346 -4.726 -0.6 -5.346 -5.014 +5 24 1.465 -5.144 4.028 1.494 -5 4.028 1.465 -5.144 6.128 1.439 -5.144 3.895 +5 24 1.119 -5.375 4.028 1.262 -5.346 4.028 1.251 -5.346 3.973 1.119 -5.375 6.128 +5 24 -1.501 -5.144 6.26 -1.426 -5.144 6.373 -1.528 -5 6.271 -1.426 -5.265 6.229 +5 24 -0.744 -5.32 -5.003 -0.6 -5.346 -5.014 -0.744 -5.245 -5.115 -0.744 -5.346 -4.87 +5 24 -2.981 -5.144 -2.496 -2.965 -5 -2.519 -2.878 -5.133 -2.392 -4.505 -5.144 -3.55 +5 24 3.887 -5.346 -1.51 3.912 -5.265 -1.391 3.938 -5.346 -1.532 3.831 -5.346 -1.509 +5 24 1.119 -5.265 3.762 1.22 -5.265 3.783 1.119 -5.144 3.681 1.119 -5.346 3.884 +5 24 3.712 -5.265 -1.428 3.809 -5.265 -1.389 3.779 -5.346 -1.53 3.668 -5.144 -1.36 +5 24 -2.924 -5.133 -1.968 -2.893 -5.144 -2.013 -3.018 -5.245 -1.976 -2.87 -5 -1.997 +5 24 -4.105 -5.101 2.685 -4.086 -5.133 2.543 -4.157 -5.187 2.709 -4.086 -5 2.677 +5 24 6.157 -5.133 1.348 6.199 -5.101 1.368 6.165 -5.245 1.441 6.12 -5 1.299 +5 24 3.125 -5 1.667 3.13 -5.055 1.658 3.147 -5 1.812 3.161 -5 1.526 +5 24 2.631 -5.32 -3.199 2.74 -5.346 -3.274 2.704 -5.346 -3.074 2.588 -5.245 -3.316 +2 24 -6.159 -5 1.805 -6.082 -5 1.681 +5 24 0.946 -5.144 -4.87 0.946 -5.133 -4.815 0.865 -5.265 -4.87 0.975 -5 -4.87 +5 24 2.873 -5.101 -3.513 2.89 -5 -3.524 3.004 -5.133 -3.455 2.735 -5.055 -3.516 +5 24 5.766 -5.265 -2.735 5.846 -5.144 -2.72 5.764 -5.265 -2.838 5.727 -5.265 -2.639 +5 24 4.481 -5.346 -2.254 4.681 -5.375 -2.217 3.893 -5.346 -1.85 3.93 -5.346 -3.056 +5 24 -5.61 -5.187 -2.233 -5.562 -5.101 -2.201 -5.493 -5.245 -2.301 -5.727 -5.101 -2.215 +5 24 -5.965 -5.101 -2.479 -5.919 -5.055 -2.349 -5.918 -5.187 -2.447 -5.982 -5 -2.491 +5 24 -4.086 -5.133 2.543 -4.062 -5 2.533 -4.121 -5.144 2.402 -4.105 -5.101 2.685 +2 24 -5.045 -5 3.977 -4.902 -5 3.944 +5 24 3.653 -5 -1.336 3.668 -5.144 -1.36 3.789 -5 -1.281 3.548 -5 -1.438 +5 24 -5.855 -5.133 -2.304 -5.826 -5 -2.25 -5.81 -5.144 -2.273 -5.894 -5.101 -2.331 +2 24 3.935 -5 -1.283 4.069 -5 -1.341 +5 24 -4.902 -5 3.944 -4.793 -5.055 3.864 -4.822 -5.101 3.877 -4.783 -5 3.859 +5 24 -1.446 -5.265 6.128 -1.325 -5.346 6.128 -1.426 -5.265 6.229 -1.446 -5.265 4.028 +5 24 4.775 -5.101 3.894 4.854 -5 3.963 4.817 -5.133 3.914 4.746 -5.055 3.88 +5 24 2.85 -5.32 -3.349 2.94 -5.346 -3.237 2.74 -5.346 -3.274 2.942 -5.245 -3.413 +5 24 1.174 -5.133 6.474 1.22 -5.245 6.393 1.22 -5.101 6.474 1.119 -5.144 6.474 +5 24 -5.457 -5.265 2.071 -4.815 -5.265 3.493 -5.618 -5.346 2.01 -5.35 -5.144 2.111 +2 24 -4.707 -5.346 1.598 -4.546 -5.265 1.659 +5 24 -1.283 -5.245 3.762 -1.181 -5.265 3.762 -1.314 -5.32 3.884 -1.236 -5.133 3.681 +5 24 1.22 -5.101 6.474 1.306 -5.188 6.393 1.251 -5.055 6.474 1.174 -5.133 6.474 +2 24 -1.446 -5 6.393 -1.325 -5 6.474 +5 24 4.118 -5.101 -4.368 4.125 -5.133 -4.226 4.165 -5.187 -4.401 4.101 -5 -4.357 +5 24 0.928 -5.265 3.845 1.014 -5.346 3.931 -0.916 -5.265 5.527 1.017 -5.265 3.783 +2 24 -4.173 -5 1.611 -4.158 -5.144 1.573 +5 24 5.799 -5.245 1.402 5.901 -5.32 1.451 5.72 -5.265 1.523 5.904 -5.187 1.317 +5 24 1.439 -5.144 3.895 1.465 -5 3.884 1.465 -5.144 4.028 1.364 -5.144 3.783 +5 24 -4.412 -5.101 -4.725 -4.364 -5.187 -4.692 -4.543 -5.133 -4.667 -4.273 -5.055 -4.727 +2 24 1.384 -5 3.762 1.465 -5 3.884 +5 24 -5.395 -5.265 -2.407 -5.328 -5.144 -2.361 -5.493 -5.245 -2.301 -4.92 -5.265 -3.094 +2 24 0.6 -5 -4.495 0.744 -5 -4.524 +5 24 2.822 -5.375 -3.155 2.94 -5.346 -3.237 2.74 -5.346 -3.274 3.857 -5.375 -1.65 +5 24 -1.446 -5.265 6.128 -1.426 -5.265 6.229 -1.528 -5.144 6.128 -1.325 -5.346 6.128 +5 24 -3.466 -5.133 3.042 -3.348 -5.101 3.122 -3.398 -5.245 3.011 -3.491 -5 3.053 +5 24 -2.893 -5.144 -2.013 -2.862 -5.133 -2.059 -2.96 -5.265 -2.06 -2.87 -5 -1.997 +2 24 -4.438 -5.144 1.7 -4.401 -5 1.714 +5 24 0.865 -5.245 -4.769 0.865 -5.187 -4.683 0.744 -5.32 -4.737 0.946 -5.133 -4.815 +5 24 -5.035 -5.055 3.973 -5.007 -5.101 3.96 -5.171 -5.101 3.945 -4.902 -5 3.944 +5 24 4.32 -5.265 -4.507 4.403 -5.245 -4.565 4.389 -5.346 -4.407 4.274 -5.144 -4.574 +5 24 3.161 -5 1.526 3.163 -5.133 1.587 3.187 -5.144 1.538 3.143 -5.101 1.629 +5 24 6.242 -5.245 1.613 6.242 -5.187 1.478 6.14 -5.32 1.565 6.31 -5.133 1.645 +5 24 3.427 -5.32 1.505 3.475 -5.245 1.404 3.304 -5.245 1.481 3.562 -5.346 1.557 +5 24 -5.855 -5.133 -2.304 -5.847 -5.245 -2.398 -5.81 -5.144 -2.273 -5.894 -5.101 -2.331 +5 24 3.765 -5.245 -3.117 3.829 -5.265 -2.987 3.857 -5.32 -3.18 3.703 -5.133 -3.074 +5 24 -4.158 -5.144 1.573 -3.55 -5.144 2.922 -4.118 -5.265 1.466 -4.173 -5 1.611 +5 24 -3.054 -5.32 2.856 -2.951 -5.245 2.81 -3.103 -5.346 2.721 -3.032 -5.245 2.98 +5 24 -6.002 -5.265 1.756 -5.917 -5.265 1.696 -5.913 -5.346 1.839 -6.061 -5.144 1.7 +5 24 -3.99 -5.346 0.971 -3.985 -5.375 1.115 -4.045 -5.346 0.984 -3.935 -5.346 0.98 +5 24 0.946 -5.055 -5.003 0.946 -5 -5.014 0.865 -5.101 -5.115 0.975 -5 -4.87 +5 24 -5.04 -5.245 3.886 -4.964 -5.133 3.941 -5.118 -5.187 3.921 -4.948 -5.265 3.844 +5 24 1.119 -5 6.503 1.22 -5.101 6.474 1.251 -5.055 6.474 1.174 -5.133 6.474 +2 24 -2.863 -5 -2.414 -2.809 -5 -2.278 +2 24 -4.669 -5 -4.58 -4.564 -5 -4.682 +5 24 -1.426 -5.101 3.762 -1.314 -5.055 3.681 -1.446 -5 3.762 -1.369 -5.187 3.762 +5 24 -2.902 -5.245 -2.143 -2.862 -5.133 -2.059 -2.96 -5.265 -2.06 -2.853 -5.187 -2.214 +5 24 -4.425 -5 2.919 -4.416 -5.055 2.915 -4.57 -5 2.895 -4.283 -5 2.886 +5 24 5.122 -5.101 3.969 5.242 -5.133 3.891 5.07 -5.187 3.944 5.141 -5 3.978 +2 24 1.384 -5 6.393 1.465 -5 6.271 +5 24 3.779 -5.346 -1.53 3.857 -5.375 -1.65 3.831 -5.346 -1.509 3.739 -5.346 -1.569 +5 24 3.897 -5.133 -3.454 3.935 -5.101 -3.48 3.981 -5.245 -3.413 3.835 -5 -3.446 +5 24 3.04 -5.265 -3.306 3.925 -5.265 -2.019 2.94 -5.346 -3.237 3.107 -5.144 -3.352 +5 24 -1.501 -5.144 6.26 -1.426 -5.265 6.229 -1.528 -5.144 6.128 -1.426 -5.144 6.373 +5 24 -1.446 -5.265 4.028 -1.446 -5.265 6.128 -1.528 -5.144 4.028 -1.325 -5.346 4.028 +5 24 -4.388 -5.32 -4.561 -4.294 -5.245 -4.643 -4.279 -5.346 -4.485 -4.481 -5.245 -4.625 +5 24 3.857 -5.375 -1.65 3.887 -5.346 -1.51 3.938 -5.346 -1.532 3.831 -5.346 -1.509 +5 24 4.389 -5.346 -4.407 4.47 -5.375 -4.289 4.498 -5.32 -4.482 4.279 -5.32 -4.332 +5 24 6.228 -5.055 1.381 6.237 -5 1.386 6.294 -5.101 1.503 6.12 -5 1.299 +5 24 -5.918 -5.187 -2.447 -5.894 -5.101 -2.331 -5.847 -5.245 -2.398 -5.965 -5.101 -2.479 +5 24 -0.975 -5 -4.87 -0.946 -5.101 -4.971 -0.946 -5.055 -5.003 -0.946 -5.133 -4.925 +5 24 -0.835 -5.144 4.028 -0.835 -5.144 5.343 -0.806 -5 4.028 -0.916 -5.265 4.028 +5 24 -3.125 -5.265 3.021 -3.032 -5.245 2.98 -3.175 -5.346 2.91 -3.091 -5.144 3.095 +2 24 -5.305 -5 -2.345 -4.892 -5 -2.941 +5 24 -4.793 -5.055 3.864 -4.783 -5 3.859 -4.724 -5.101 3.743 -4.902 -5 3.944 +5 24 -0.916 -5.265 4.028 -0.835 -5.144 4.028 -0.936 -5.245 3.884 -0.916 -5.265 5.527 +5 24 1.364 -5.144 3.783 1.439 -5.144 3.895 1.384 -5 3.762 1.306 -5.265 3.84 +5 24 3.231 -5.101 1.446 3.341 -5.187 1.403 3.211 -5.133 1.488 3.244 -5.055 1.418 +5 24 3.107 -5.144 -3.352 3.946 -5.144 -2.132 3.04 -5.265 -3.306 3.131 -5 -3.368 +5 24 -3.26 -5.346 -2.093 -3.178 -5.375 -2.211 -3.135 -5.32 -2.02 -4.951 -5.346 -3.263 +5 24 -5.898 -5.144 -2.755 -5.831 -5.265 -2.709 -5.958 -5.133 -2.622 -4.646 -5.144 -4.564 +5 24 -3.018 -5.245 -1.976 -2.96 -5.265 -2.06 -2.924 -5.133 -1.968 -3.135 -5.32 -2.02 +2 24 4.737 -5 3.876 4.854 -5 3.963 +5 24 -1.314 -5.144 6.448 -1.181 -5.144 6.474 -1.325 -5 6.474 -1.283 -5.265 6.373 +5 24 3.217 -5.245 1.664 3.26 -5.265 1.573 3.163 -5.133 1.587 3.313 -5.32 1.745 +5 24 -4.694 -5 2.818 -4.67 -5.133 2.807 -4.779 -5 2.699 -4.57 -5 2.895 +5 24 4.732 -5.245 3.649 4.732 -5.187 3.783 4.834 -5.32 3.697 4.664 -5.133 3.617 +5 24 4.775 -5.265 3.51 4.885 -5.346 3.563 4.732 -5.245 3.649 5.134 -5.265 2.756 +5 24 1.017 -5.265 3.783 1.119 -5.265 3.762 0.986 -5.144 3.708 1.064 -5.346 3.895 +5 24 3.351 -5.144 1.999 5.025 -5.144 2.795 3.386 -5.265 1.926 3.339 -5 2.025 +5 24 -2.924 -5.133 -1.968 -2.87 -5 -1.997 -2.893 -5.144 -2.013 -2.951 -5.101 -1.93 +5 24 3.26 -5.265 1.573 3.304 -5.245 1.481 3.187 -5.144 1.538 3.37 -5.346 1.625 +5 24 -4.14 -5 0.773 -4.128 -5.144 0.799 -5.963 -5 1.596 -3.997 -5 0.74 +5 24 -5.118 -5.187 3.921 -5.04 -5.245 3.886 -5.221 -5.245 3.834 -5.007 -5.101 3.96 +5 24 3.37 -5.346 1.625 3.427 -5.32 1.505 3.26 -5.265 1.573 3.5 -5.375 1.687 +5 24 -5.613 -5.375 -2.558 -5.495 -5.346 -2.476 -5.695 -5.346 -2.44 -4.987 -5.375 -3.463 +5 24 -4.646 -5.144 -4.564 -4.543 -5.133 -4.667 -4.579 -5.265 -4.518 -4.669 -5 -4.58 +5 24 4.319 -5.133 -4.605 4.357 -5.101 -4.632 4.403 -5.245 -4.565 4.257 -5 -4.598 +5 24 4.746 -5.055 3.88 4.775 -5.101 3.894 4.68 -5.101 3.759 4.854 -5 3.963 +5 24 -0.865 -5.101 -4.625 -0.744 -5.133 -4.55 -0.865 -5.187 -4.683 -0.865 -5 -4.605 +5 24 -1.181 -5 3.653 -1.126 -5.133 3.681 -1.08 -5.101 3.681 -1.181 -5.144 3.681 +5 24 3.794 -5.144 -1.309 3.809 -5.265 -1.389 3.929 -5.144 -1.311 3.668 -5.144 -1.36 +5 24 3.743 -5.187 -3.25 3.765 -5.245 -3.117 3.814 -5.245 -3.298 3.696 -5.101 -3.217 +5 24 -4.864 -5.133 3.896 -4.855 -5.245 3.803 -4.914 -5.144 3.918 -4.822 -5.101 3.877 +2 24 5.354 -5 3.785 6.298 -5 1.798 +5 24 -0.744 -5.245 -5.115 -0.744 -5.133 -5.19 -0.865 -5.187 -5.058 -0.6 -5.265 -5.135 +5 24 3.703 -5.133 -3.074 3.765 -5.245 -3.117 3.762 -5.144 -2.941 3.696 -5.101 -3.217 +2 24 1.494 -5 4.028 1.494 -5 6.128 +5 24 -2.87 -5 -1.997 -2.835 -5.101 -2.097 -2.862 -5.133 -2.059 -2.818 -5.055 -2.122 +5 24 -5.701 -5.055 -2.198 -5.562 -5.101 -2.201 -5.727 -5.101 -2.215 -5.692 -5 -2.191 +2 24 4.155 -5 -4.493 4.257 -5 -4.598 +5 24 4.664 -5.133 3.617 4.732 -5.245 3.649 4.702 -5.144 3.476 4.68 -5.101 3.759 +5 24 6.058 -5.133 1.301 6.108 -5.144 1.324 5.981 -5.245 1.354 6.12 -5 1.299 +5 24 -3.041 -5.133 3.073 -3.032 -5.245 2.98 -2.999 -5.101 3.054 -3.091 -5.144 3.095 +2 24 -4.715 -5 3.448 -4.682 -5 3.591 +5 24 -1.325 -5.346 4.028 -1.181 -5.375 4.028 -1.325 -5.346 6.128 -1.314 -5.32 3.884 +5 24 0.865 -5.187 -5.058 0.946 -5.101 -4.971 0.865 -5.101 -5.115 0.865 -5.245 -4.971 +5 24 -4.793 -5.055 3.864 -4.724 -5.101 3.743 -4.822 -5.101 3.877 -4.783 -5 3.859 +5 24 -1.283 -5.101 3.681 -1.181 -5 3.653 -1.314 -5.055 3.681 -1.236 -5.133 3.681 +5 24 4.257 -5 -4.598 4.357 -5.101 -4.632 4.319 -5.133 -4.605 4.383 -5.055 -4.649 +5 24 -3.135 -5.32 -2.02 -3.018 -5.245 -1.976 -3.06 -5.346 -2.129 -3.199 -5.245 -1.928 +5 24 -0.946 -5.055 -4.737 -0.865 -5.101 -4.625 -0.946 -5.101 -4.769 -0.946 -5 -4.726 +5 24 -4.601 -5.245 2.776 -4.499 -5.187 2.863 -4.499 -5.32 2.73 -4.67 -5.133 2.807 +5 24 -4.724 -5.101 3.743 -4.706 -5 3.735 -4.706 -5.133 3.602 -4.793 -5.055 3.864 +5 24 -5.562 -5.101 -2.201 -5.431 -5.133 -2.258 -5.61 -5.187 -2.233 -5.546 -5 -2.189 +5 24 3.835 -5 -3.446 3.897 -5.133 -3.454 3.852 -5.144 -3.423 3.935 -5.101 -3.48 +2 24 -4.951 -5.346 -3.263 -4.92 -5.265 -3.094 +5 24 -4.438 -5.144 1.7 -4.158 -5.144 1.573 -4.546 -5.265 1.659 -4.401 -5 1.714 +5 24 5.623 -5.346 -2.865 5.723 -5.265 -2.934 5.645 -5.346 -2.813 4.588 -5.346 -4.37 +5 24 -0.744 -5.346 -4.87 -0.6 -5.375 -4.87 -0.744 -5.32 -4.737 -0.744 -5.32 -5.003 +5 24 2.609 -5 -3.464 2.626 -5.144 -3.441 2.58 -5.133 -3.41 2.671 -5.133 -3.472 +5 24 -5.372 -5.144 3.745 -5.298 -5.265 3.712 -6.124 -5.144 2.08 -5.289 -5.133 3.865 +5 24 1.119 -5 6.503 1.174 -5.133 6.474 1.22 -5.101 6.474 1.119 -5.144 6.474 +5 24 1.251 -5.144 3.708 1.262 -5 3.681 1.119 -5.144 3.681 1.364 -5.144 3.783 +2 24 -3.729 -5 0.841 -3.644 -5 0.96 +5 24 3.26 -5.265 1.573 3.37 -5.346 1.625 3.217 -5.245 1.664 3.304 -5.245 1.481 +2 24 0.744 -5 4.879 0.772 -5.144 4.815 +5 24 -1.325 -5 3.681 -1.314 -5.055 3.681 -1.446 -5 3.762 -1.181 -5 3.653 +5 24 -1.426 -5.265 6.229 -1.314 -5.346 6.183 -1.446 -5.265 6.128 -1.369 -5.265 6.315 +5 24 3.265 -5.245 1.846 3.313 -5.32 1.745 3.18 -5.187 1.742 3.386 -5.265 1.926 +5 24 -1.049 -5.055 3.681 -0.936 -5.101 3.762 -1.038 -5 3.681 -1.08 -5.101 3.681 +5 24 3.814 -5.245 -3.298 3.857 -5.32 -3.18 3.898 -5.265 -3.356 3.743 -5.187 -3.25 +5 24 2.826 -5.187 -3.48 2.873 -5.101 -3.513 2.942 -5.245 -3.413 2.709 -5.101 -3.498 +5 24 3.831 -5.346 -1.509 3.857 -5.375 -1.65 3.887 -5.346 -1.51 3.779 -5.346 -1.53 +5 24 -0.946 -5.101 -4.769 -0.865 -5.187 -4.683 -0.946 -5.133 -4.815 -0.946 -5.055 -4.737 +5 24 -1.049 -5.144 6.448 -1.038 -5 6.474 -1.181 -5.144 6.474 -0.948 -5.144 6.384 +5 24 2.507 -5 -3.36 2.516 -5.055 -3.366 2.453 -5 -3.224 2.609 -5 -3.464 +5 24 -5.493 -5.245 -2.301 -5.395 -5.265 -2.407 -5.586 -5.32 -2.365 -5.431 -5.133 -2.258 +2 24 5.323 -5.144 2.169 5.361 -5.265 2.277 +5 24 2.873 -5.101 -3.513 3.004 -5.133 -3.455 2.826 -5.187 -3.48 2.89 -5 -3.524 +5 24 3.887 -5.346 -1.51 3.938 -5.346 -1.532 3.912 -5.265 -1.391 3.857 -5.375 -1.65 +5 24 -4.164 -5.144 -4.652 -4.148 -5 -4.675 -4.209 -5.133 -4.683 -4.119 -5.133 -4.621 +5 24 1.364 -5.144 3.783 1.384 -5 3.762 1.439 -5.144 3.895 1.251 -5.144 3.708 +5 24 -4.899 -5.144 -2.981 -3.375 -5.144 -1.926 -4.92 -5.265 -3.094 -4.892 -5 -2.941 +2 24 -5.692 -5 -2.191 -5.546 -5 -2.189 +5 24 -3.348 -5.101 3.122 -3.212 -5.055 3.15 -3.296 -5.187 3.099 -3.366 -5 3.13 +5 24 4.916 -5.133 3.961 4.958 -5.101 3.981 4.993 -5.245 3.907 4.854 -5 3.963 +5 24 -4.306 -5.346 2.485 -4.257 -5.32 2.621 -4.437 -5.375 2.544 -4.196 -5.265 2.435 +5 24 1.119 -5.144 6.474 1.119 -5 6.503 1.064 -5.133 6.474 1.174 -5.133 6.474 +5 24 -3.199 -5.245 -1.928 -3.067 -5.187 -1.906 -3.135 -5.32 -2.02 -3.242 -5.133 -1.866 diff --git a/ImportLDraw/studs/stud-logo3.dat b/ImportLDraw/studs/stud-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..415533bbfcba9d4d7dd02f38801a97f814b0e7a8 --- /dev/null +++ b/ImportLDraw/studs/stud-logo3.dat @@ -0,0 +1,12 @@ +0 Stud with LEGO Logo - 3D with Sharp Top +0 Name: stud-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-06 [tnelson] Created 2016-06-06 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo3.dat diff --git a/ImportLDraw/studs/stud-logo4.dat b/ImportLDraw/studs/stud-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..f40ed85b849f33c50b516f8b8054ee2db05b5b86 --- /dev/null +++ b/ImportLDraw/studs/stud-logo4.dat @@ -0,0 +1,12 @@ +0 Stud with LEGO Logo - 3D with Rounded Top +0 Name: stud-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-06 [tnelson] Created 2016-06-06 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo4.dat diff --git a/ImportLDraw/studs/stud-logo5.dat b/ImportLDraw/studs/stud-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..34bbad9fe5856910e7207320102472102235d0cc --- /dev/null +++ b/ImportLDraw/studs/stud-logo5.dat @@ -0,0 +1,12 @@ +0 Stud with LEGO Logo - 3D Flattened +0 Name: stud-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-06 [tnelson] Created 2016-06-06 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo5.dat diff --git a/ImportLDraw/studs/stud10-copy.dat b/ImportLDraw/studs/stud10-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..24e29e8e654d82674e5a4955f0eb9c8990af1c6e --- /dev/null +++ b/ImportLDraw/studs/stud10-copy.dat @@ -0,0 +1,37 @@ +0 Stud For Round 2 x 2 Parts +0 Name: stud10.dat +0 Author: Orion Pobursky [OrionP] +0 !LDRAW_ORG Primitive UPDATE 2012-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2004-01-06 [Steffen] Fixed Header +0 !HISTORY 2004-04-22 [PTadmin] Official Update 2004-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 + +2 24 6 0 0 5.6145 0 1.9397 +2 24 1.9387 0 5.6145 0 0 6 +2 24 5.6145 -4 1.9397 5.6145 0 1.9397 +2 24 6 -4 0 5.6145 -4 1.9397 +2 24 5.6145 -4 1.9397 4.142 -4 4.142 +2 24 4.142 -4 4.142 1.9387 -4 5.6145 +2 24 1.9387 -4 5.6145 0 -4 6 +2 24 1.9387 -4 5.6145 1.9387 0 5.6145 +5 24 4.142 -4 4.142 4.142 0 4.142 2.2962 -4 5.5434 5.5434 -4 2.2962 + +1 16 0 -4 0 0 0 -6 0 4 0 6 0 0 3-4cyli.dat +1 16 0 0 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4disc.dat +3 16 6 -4 0 5.615 -4 1.94 0 -4 0 +3 16 5.615 -4 1.94 4.142 -4 4.142 0 -4 0 +3 16 4.142 -4 4.142 1.94 -4 5.615 0 -4 0 +3 16 1.94 -4 5.615 0 -4 6 0 -4 0 +4 16 6 0 0 5.6145 0 1.9397 5.6145 -4 1.9397 6 -4 0 +4 16 5.6145 0 1.9397 4.142 0 4.142 4.142 -4 4.142 5.6145 -4 1.9397 +4 16 4.142 0 4.142 1.9387 0 5.6145 1.9387 -4 5.6145 4.142 -4 4.142 +4 16 1.9387 0 5.6145 0 0 6 0 -4 6 1.9387 -4 5.6145 diff --git a/ImportLDraw/studs/stud10-logo3.dat b/ImportLDraw/studs/stud10-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..cfe6be3ef473d5546bbf611b3980d36e2013b390 --- /dev/null +++ b/ImportLDraw/studs/stud10-logo3.dat @@ -0,0 +1,12 @@ +0 Stud For Round 2 x 2 Parts with LEGO Logo - 3D with Sharp Top +0 Name: stud10-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud10-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo3.dat diff --git a/ImportLDraw/studs/stud10-logo4.dat b/ImportLDraw/studs/stud10-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..2e7b8d6d0bbaa2d938dd8ba08080f2ce0a7f8224 --- /dev/null +++ b/ImportLDraw/studs/stud10-logo4.dat @@ -0,0 +1,12 @@ +0 Stud For Round 2 x 2 Parts with LEGO Logo - 3D with Rounded Top +0 Name: stud10-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud10-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo4.dat diff --git a/ImportLDraw/studs/stud10-logo5.dat b/ImportLDraw/studs/stud10-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..712e3d7ed105e2e1579da859d9f4adb668d551d4 --- /dev/null +++ b/ImportLDraw/studs/stud10-logo5.dat @@ -0,0 +1,12 @@ +0 Stud For Round 2 x 2 Parts with LEGO Logo - 3D Flattened +0 Name: stud10-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud10-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo5.dat diff --git a/ImportLDraw/studs/stud13-copy.dat b/ImportLDraw/studs/stud13-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..c8907073e0e5f18cba6e149215eacfaf69a89753 --- /dev/null +++ b/ImportLDraw/studs/stud13-copy.dat @@ -0,0 +1,35 @@ +0 Stud for Electric Light & Sound Brick 2 x 2 x 1.333 +0 Name: stud13.dat +0 Author: Willy Tschager [Holly-Wood] +0 !LDRAW_ORG Primitive UPDATE 2012-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2010-12-31 [PTadmin] Official Update 2010-03 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 + +2 24 6 0 0 5.782 0 1.095 +2 24 5.782 0 1.095 1.095 0 5.782 +2 24 1.095 0 5.782 0 0 6 +2 24 5.782 0 1.095 5.782 -4 1.095 +2 24 1.095 0 5.782 1.095 -4 5.782 +2 24 6 -4 0 5.782 -4 1.095 +2 24 5.782 -4 1.095 1.095 -4 5.782 +2 24 1.095 -4 5.782 0 -4 6 + +4 16 6 -4 0 6 0 0 5.782 0 1.095 5.782 -4 1.095 +4 16 1.095 0 5.782 1.095 -4 5.782 5.782 -4 1.095 5.782 0 1.095 +4 16 1.095 -4 5.782 1.095 0 5.782 0 0 6 0 -4 6 +3 16 6 -4 0 5.782 -4 1.095 0 -4 0 +3 16 5.782 -4 1.095 1.095 -4 5.782 0 -4 0 +3 16 0 -4 6 0 -4 0 1.095 -4 5.782 + +5 24 6 0 0 6 -4 0 5.782 0 1.095 5.543 -4 -2.296 +5 24 0 0 6 0 -4 6 1.095 0 5.782 -2.296 -4 5.543 + +1 16 0 -4 0 0 0 -6 0 4 0 6 0 0 3-4cyli.dat +1 16 0 0 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4disc.dat diff --git a/ImportLDraw/studs/stud13-logo3.dat b/ImportLDraw/studs/stud13-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..3fdae355206c70c43878ba000cac6f15b0cfbf0f --- /dev/null +++ b/ImportLDraw/studs/stud13-logo3.dat @@ -0,0 +1,12 @@ +0 Stud for Electric Light & Sound Brick 2 x 2 x 1.333 with LEGO Logo - 3D with Sharp Top +0 Name: stud13-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud13-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo3.dat diff --git a/ImportLDraw/studs/stud13-logo4.dat b/ImportLDraw/studs/stud13-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..a132aa3226f7a592c4ce1df1466c3449f6a93a0b --- /dev/null +++ b/ImportLDraw/studs/stud13-logo4.dat @@ -0,0 +1,12 @@ +0 Stud for Electric Light & Sound Brick 2 x 2 x 1.333 with LEGO Logo - 3D with Rounded Top +0 Name: stud13-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud13-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo4.dat diff --git a/ImportLDraw/studs/stud13-logo5.dat b/ImportLDraw/studs/stud13-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..ea6927107f0af691bd258d2a4778643486a383b6 --- /dev/null +++ b/ImportLDraw/studs/stud13-logo5.dat @@ -0,0 +1,12 @@ +0 Stud for Electric Light & Sound Brick 2 x 2 x 1.333 with LEGO Logo - 3D Flattened +0 Name: stud13-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud13-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo5.dat diff --git a/ImportLDraw/studs/stud15-copy.dat b/ImportLDraw/studs/stud15-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..3ca7172a365d828651150c30a7817971348d0ef1 --- /dev/null +++ b/ImportLDraw/studs/stud15-copy.dat @@ -0,0 +1,21 @@ +0 Stud for Round 2 x 2 Parts, 1 Face, Complete Edges +0 Name: stud15.dat +0 Author: Joerg Sommerer [Brickaneer] +0 !LDRAW_ORG Primitive UPDATE 2011-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2011-12-29 [PTadmin] Official Update 2011-02 + +1 16 0 0 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0.9694 -2 5.8072 -0.9694 -1.542 0 0 0 -2 0.1928 -7.7548 0 rect2p.dat +1 16 3.7766 -2 3.7766 0 -1.0502 -1.8379 2 0 0 0 -1.0502 1.8379 rect3.dat +1 16 5.8072 -2 0.9694 0 -7.7548 -0.1928 2 0 0 0 -1.542 0.9694 rect3.dat +1 16 0 -4 0 0 0 -6 0 4 0 6 0 0 3-4cyli.dat +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4disc.dat +3 16 6 -4 0 0 -4 6 0 -4 0 +4 16 0 -4 6 6 -4 0 5.6145 -4 1.9387 1.9387 -4 5.6145 +5 24 6 -4 0 6 0 0 5.6145 -4 1.9387 5.5434 0 -2.2962 +5 24 0 -4 6 0 0 6 1.9387 -4 5.6145 -2.2962 0 5.5434 diff --git a/ImportLDraw/studs/stud15-logo3.dat b/ImportLDraw/studs/stud15-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..765f236dc8164f465c8ec21af4559224115a76f4 --- /dev/null +++ b/ImportLDraw/studs/stud15-logo3.dat @@ -0,0 +1,12 @@ +0 Stud for Round 2 x 2 Parts, 1 Face, Complete Edges with LEGO Logo - 3D with Sharp Top +0 Name: stud15-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud15-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo3.dat diff --git a/ImportLDraw/studs/stud15-logo4.dat b/ImportLDraw/studs/stud15-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..1dbf256d9897e9a4b10c5ad319381eeee8e672de --- /dev/null +++ b/ImportLDraw/studs/stud15-logo4.dat @@ -0,0 +1,12 @@ +0 Stud for Round 2 x 2 Parts, 1 Face, Complete Edges with LEGO Logo - 3D with Rounded Top +0 Name: stud15-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud15-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo4.dat diff --git a/ImportLDraw/studs/stud15-logo5.dat b/ImportLDraw/studs/stud15-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..f255f57a4dabdd9614f5707d37c357504dd127aa --- /dev/null +++ b/ImportLDraw/studs/stud15-logo5.dat @@ -0,0 +1,12 @@ +0 Stud for Round 2 x 2 Parts, 1 Face, Complete Edges with LEGO Logo - 3D Flattened +0 Name: stud15-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud15-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo5.dat diff --git a/ImportLDraw/studs/stud2-logo3.dat b/ImportLDraw/studs/stud2-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..56a19ff40337f7768ac7638b70936ca8c331f0a4 --- /dev/null +++ b/ImportLDraw/studs/stud2-logo3.dat @@ -0,0 +1,12 @@ +0 Stud Open with LEGO Logo - 3D with Sharp Top +0 Name: stud2-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-06 [tnelson] Created 2016-06-06 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud2-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo3.dat diff --git a/ImportLDraw/studs/stud2-logo4.dat b/ImportLDraw/studs/stud2-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..fc46cdaf54d16d1a9c271227214e3ef7acf74426 --- /dev/null +++ b/ImportLDraw/studs/stud2-logo4.dat @@ -0,0 +1,12 @@ +0 Stud Open with LEGO Logo - 3D with Rounded Top +0 Name: stud2-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-06 [tnelson] Created 2016-06-06 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud2-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo4.dat diff --git a/ImportLDraw/studs/stud2-logo5.dat b/ImportLDraw/studs/stud2-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..5afcabb49aad3b5c3b9abb5560729326924b6f20 --- /dev/null +++ b/ImportLDraw/studs/stud2-logo5.dat @@ -0,0 +1,12 @@ +0 Stud Open with LEGO Logo - 3D Flattened +0 Name: stud2-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-06 [tnelson] Created 2016-06-06 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 stud2-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo5.dat diff --git a/ImportLDraw/studs/stud20-copy.dat b/ImportLDraw/studs/stud20-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..9b55de23f1f36975a6b7bb64a48faf32861cd4fe --- /dev/null +++ b/ImportLDraw/studs/stud20-copy.dat @@ -0,0 +1,11 @@ +0 Stud Duplo +0 Name: stud20.dat +0 Author: Steffen [Steffen] +0 !LDRAW_ORG Primitive UPDATE 2013-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2013-07-21 [PTadmin] Official Update 2013-01 + +1 16 0 -11 0 12 0 0 0 11 0 0 0 12 4-4cylc.dat diff --git a/ImportLDraw/studs/stud20-logo3.dat b/ImportLDraw/studs/stud20-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..055aa1b846f7d6fcc40a70d6563e1d3c0771ab57 --- /dev/null +++ b/ImportLDraw/studs/stud20-logo3.dat @@ -0,0 +1,12 @@ +0 Stud Duplo with LEGO Logo - 3D with Sharp Top +0 Name: stud20-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.9636 0 0 0 1 stud20-copy.dat +1 16 0 -10.6 0 2 0 0 0 2 0 0 0 2 logo3.dat diff --git a/ImportLDraw/studs/stud20-logo4.dat b/ImportLDraw/studs/stud20-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..b61ade22e8f04518101c233e3f44da59e0b2eacc --- /dev/null +++ b/ImportLDraw/studs/stud20-logo4.dat @@ -0,0 +1,12 @@ +0 Stud Duplo with LEGO Logo - 3D with Rounded Top +0 Name: stud20-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.9636 0 0 0 1 stud20-copy.dat +1 16 0 -10.6 0 2 0 0 0 2 0 0 0 2 logo4.dat diff --git a/ImportLDraw/studs/stud20-logo5.dat b/ImportLDraw/studs/stud20-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..49dfb552515ee1afcf1395f9c92b81f080d4e5d0 --- /dev/null +++ b/ImportLDraw/studs/stud20-logo5.dat @@ -0,0 +1,12 @@ +0 Stud Duplo with LEGO Logo - 3D Flattened +0 Name: stud20-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.9636 0 0 0 1 stud20-copy.dat +1 16 0 -10.6 0 2 0 0 0 2 0 0 0 2 logo5.dat diff --git a/ImportLDraw/studs/stud6-copy.dat b/ImportLDraw/studs/stud6-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..f16a51ea10d8241fa2c3a406366b13b7708a7242 --- /dev/null +++ b/ImportLDraw/studs/stud6-copy.dat @@ -0,0 +1,50 @@ +0 Stud Open For Round 2x2 Parts +0 Name: stud6.dat +0 Author: Steve Bliss [sbliss] +0 !LDRAW_ORG Primitive UPDATE 2012-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2000-09-30 [PTadmin] Official Update 2000-02 +0 !HISTORY 2002-04-04 [sbliss] Modified for BFC compliance +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2002-08-27 [mkennedy] Changed top polygons to 3-4ring2 +0 !HISTORY 2002-11-30 [sbliss] Replaced 3-4ring2 with 1-4ring2's +0 !HISTORY 2003-08-01 [PTadmin] Official Update 2003-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 + +1 16 0 0 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 0 0 4 0 0 0 1 0 0 0 4 4-4edge.dat + +2 24 6 0 0 5.6145 0 1.9397 +2 24 1.9387 0 5.6145 0 0 6 +2 24 5.6145 -4 1.9397 5.6145 0 1.9397 +2 24 6 -4 0 5.6145 -4 1.9397 +2 24 5.6145 -4 1.9397 4.142 -4 4.142 +2 24 4.142 -4 4.142 1.9387 -4 5.6145 +2 24 1.9387 -4 5.6145 0 -4 6 +2 24 1.9387 -4 5.6145 1.9387 0 5.6145 + +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4edge.dat +1 16 0 -4 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 -4 0 4 0 0 0 4 0 0 0 4 4-4cyli.dat + +1 16 0 -4 0 0 0 -2 0 1 0 2 0 0 1-4ring2.dat +1 16 0 -4 0 -2 0 0 0 1 0 0 0 -2 1-4ring2.dat +1 16 0 -4 0 0 0 2 0 1 0 -2 0 0 1-4ring2.dat +4 16 6 -4 0 5.615 -4 1.94 3.695 -4 1.531 4 -4 0 +4 16 5.615 -4 1.94 4.142 -4 4.142 2.828 -4 2.828 3.695 -4 1.531 +4 16 4.142 -4 4.142 1.94 -4 5.615 1.531 -4 3.695 2.828 -4 2.828 +4 16 1.94 -4 5.615 0 -4 6 0 -4 4 1.531 -4 3.695 + +1 16 0 -4 0 0 0 -6 0 4 0 6 0 0 3-4cyli.dat +5 24 4.142 -4 4.142 4.142 0 4.142 2.2962 -4 5.5434 5.5434 -4 2.2962 +4 16 6 0 0 5.6145 0 1.9397 5.6145 -4 1.9397 6 -4 0 +4 16 5.6145 0 1.9397 4.142 0 4.142 4.142 -4 4.142 5.6145 -4 1.9397 +4 16 4.142 0 4.142 1.9387 0 5.6145 1.9387 -4 5.6145 4.142 -4 4.142 +4 16 1.9387 0 5.6145 0 0 6 0 -4 6 1.9387 -4 5.6145 diff --git a/ImportLDraw/studs/stud6-logo3.dat b/ImportLDraw/studs/stud6-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..029263dab67a67a12aa9286c2c7bce170b1c68f4 --- /dev/null +++ b/ImportLDraw/studs/stud6-logo3.dat @@ -0,0 +1,12 @@ +0 Stud Open For Round 2x2 Parts with LEGO Logo - 3D with Sharp Top +0 Name: stud6-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud6-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo3.dat diff --git a/ImportLDraw/studs/stud6-logo4.dat b/ImportLDraw/studs/stud6-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..987a2b3b36f45a13ba1fddd01bcfc917cde21b41 --- /dev/null +++ b/ImportLDraw/studs/stud6-logo4.dat @@ -0,0 +1,12 @@ +0 Stud Open For Round 2x2 Parts with LEGO Logo - 3D with Rounded Top +0 Name: stud6-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud6-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo4.dat diff --git a/ImportLDraw/studs/stud6-logo5.dat b/ImportLDraw/studs/stud6-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..4a0f98aef6839d3042b77e1c9e149ec86cffc5c0 --- /dev/null +++ b/ImportLDraw/studs/stud6-logo5.dat @@ -0,0 +1,12 @@ +0 Stud Open For Round 2x2 Parts with LEGO Logo - 3D Flattened +0 Name: stud6-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud6-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo5.dat diff --git a/ImportLDraw/studs/stud6a-copy.dat b/ImportLDraw/studs/stud6a-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..72e2e02b1b2869f72d319cc27587c28a1f40e095 --- /dev/null +++ b/ImportLDraw/studs/stud6a-copy.dat @@ -0,0 +1,44 @@ +0 Stud Open For Round 2x2 Parts without Base Edges +0 Name: stud6a.dat +0 Author: Steve Bliss [sbliss] +0 !LDRAW_ORG Primitive UPDATE 2012-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2000-09-30 [PTadmin] Official Update 2000-02 +0 !HISTORY 2002-04-04 [sbliss] Modified for BFC compliance +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2002-08-27 [mkennedy] Changed top polygons to 3-4ring2 +0 !HISTORY 2002-11-30 [sbliss] Replaced 3-4ring2 with 1-4ring2's +0 !HISTORY 2003-08-01 [PTadmin] Official Update 2003-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2012-02-16 [Philo] Changed to CCW +0 !HISTORY 2012-03-30 [PTadmin] Official Update 2012-01 + +2 24 5.6145 -4 1.9397 5.6145 0 1.9397 +2 24 6 -4 0 5.6145 -4 1.9397 +2 24 5.6145 -4 1.9397 4.142 -4 4.142 +2 24 4.142 -4 4.142 1.9387 -4 5.6145 +2 24 1.9387 -4 5.6145 0 -4 6 +2 24 1.9387 -4 5.6145 1.9387 0 5.6145 + +1 16 0 -4 0 0 0 -6 0 1 0 6 0 0 3-4edge.DAT +1 16 0 -4 0 4 0 0 0 1 0 0 0 4 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 -4 0 4 0 0 0 4 0 0 0 4 4-4cyli.dat +1 16 0 -4 0 0 0 -2 0 1 0 2 0 0 1-4ring2.dat +1 16 0 -4 0 -2 0 0 0 1 0 0 0 -2 1-4ring2.dat +1 16 0 -4 0 0 0 2 0 1 0 -2 0 0 1-4ring2.dat +4 16 6 -4 0 5.615 -4 1.94 3.695 -4 1.531 4 -4 0 +4 16 5.615 -4 1.94 4.142 -4 4.142 2.828 -4 2.828 3.695 -4 1.531 +4 16 4.142 -4 4.142 1.94 -4 5.615 1.531 -4 3.695 2.828 -4 2.828 +4 16 1.94 -4 5.615 0 -4 6 0 -4 4 1.531 -4 3.695 + +1 16 0 -4 0 0 0 -6 0 4 0 6 0 0 3-4cyli.dat +5 24 4.142 -4 4.142 4.142 0 4.142 2.2962 -4 5.5434 5.5434 -4 2.2962 +4 16 6 0 0 5.6145 0 1.9397 5.6145 -4 1.9397 6 -4 0 +4 16 5.6145 0 1.9397 4.142 0 4.142 4.142 -4 4.142 5.6145 -4 1.9397 +4 16 4.142 0 4.142 1.9387 0 5.6145 1.9387 -4 5.6145 4.142 -4 4.142 +4 16 1.9387 0 5.6145 0 0 6 0 -4 6 1.9387 -4 5.6145 diff --git a/ImportLDraw/studs/stud6a-logo3.dat b/ImportLDraw/studs/stud6a-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..14d22cf0e1d7a7881efd2b9c2f82751406210a8e --- /dev/null +++ b/ImportLDraw/studs/stud6a-logo3.dat @@ -0,0 +1,12 @@ +0 Stud Open For Round 2x2 Parts without Base Edges with LEGO Logo - 3D with Sharp Top +0 Name: stud6a-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud6a-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo3.dat diff --git a/ImportLDraw/studs/stud6a-logo4.dat b/ImportLDraw/studs/stud6a-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..35003aeb06058970f1750d3ca617525ae884b583 --- /dev/null +++ b/ImportLDraw/studs/stud6a-logo4.dat @@ -0,0 +1,12 @@ +0 Stud Open For Round 2x2 Parts without Base Edges with LEGO Logo - 3D with Rounded Top +0 Name: stud6a-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud6a-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo4.dat diff --git a/ImportLDraw/studs/stud6a-logo5.dat b/ImportLDraw/studs/stud6a-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..fbae86691390c65527b97f8a66b903b8c00aef78 --- /dev/null +++ b/ImportLDraw/studs/stud6a-logo5.dat @@ -0,0 +1,12 @@ +0 Stud Open For Round 2x2 Parts without Base Edges with LEGO Logo - 3D Flattened +0 Name: stud6a-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud6a-copy.dat +1 16 0 0 0 0.7 0 0 0 0.7 0 0 0 0.7 logo5.dat diff --git a/ImportLDraw/studs/stud7-copy.dat b/ImportLDraw/studs/stud7-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..2b57bafc8b12469e5a3587b173c9ebe5dbbc2348 --- /dev/null +++ b/ImportLDraw/studs/stud7-copy.dat @@ -0,0 +1,23 @@ +0 Stud Duplo Open +0 Name: stud7.dat +0 Author: Tony Hafner [hafhead] +0 !LDRAW_ORG Primitive UPDATE 2009-02 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-04-25 [PTadmin] Official Update 2002-02 +0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2009-06-21 [cwdee] Update ring references to 4-4ring +0 !HISTORY 2009-09-03 [PTadmin] Official Update 2009-02 + +1 16 0 -4 0 9 0 0 0 1 0 0 0 9 4-4edge.dat +1 16 0 -4 0 12 0 0 0 1 0 0 0 12 4-4edge.dat +1 16 0 0 0 9 0 0 0 1 0 0 0 9 4-4edge.dat +1 16 0 0 0 12 0 0 0 1 0 0 0 12 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 -4 0 9 0 0 0 4 0 0 0 9 4-4cyli.dat +1 16 0 -4 0 12 0 0 0 4 0 0 0 12 4-4cyli.dat +1 16 0 -4 0 3 0 0 0 1 0 0 0 3 4-4ring3.dat +0 diff --git a/ImportLDraw/studs/stud7-logo3.dat b/ImportLDraw/studs/stud7-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..4a3f3ba1ba0c963f1c9d626b93c822121ebd7599 --- /dev/null +++ b/ImportLDraw/studs/stud7-logo3.dat @@ -0,0 +1,12 @@ +0 Stud Duplo Open with LEGO Logo - 3D with Sharp Top +0 Name: stud7-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud7-copy.dat +1 16 0 0 0 1.5 0 0 0 1.5 0 0 0 1.5 logo3.dat diff --git a/ImportLDraw/studs/stud7-logo4.dat b/ImportLDraw/studs/stud7-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..62377e6c987e83eb5021a9608381e62f8f5961ef --- /dev/null +++ b/ImportLDraw/studs/stud7-logo4.dat @@ -0,0 +1,12 @@ +0 Stud Duplo Open with LEGO Logo - 3D with Rounded Top +0 Name: stud7-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud7-copy.dat +1 16 0 0 0 1.5 0 0 0 1.5 0 0 0 1.5 logo4.dat diff --git a/ImportLDraw/studs/stud7-logo5.dat b/ImportLDraw/studs/stud7-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..1c5ff4477e07a6bda1ff82c3c14c90d103036801 --- /dev/null +++ b/ImportLDraw/studs/stud7-logo5.dat @@ -0,0 +1,12 @@ +0 Stud Duplo Open with LEGO Logo - 3D Flattened +0 Name: stud7-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 stud7-copy.dat +1 16 0 0 0 1.5 0 0 0 1.5 0 0 0 1.5 logo5.dat diff --git a/ImportLDraw/studs/studa-copy.dat b/ImportLDraw/studs/studa-copy.dat new file mode 100644 index 0000000000000000000000000000000000000000..f6ad1fbb6b330eebcbc939e120bcb22c4b624232 --- /dev/null +++ b/ImportLDraw/studs/studa-copy.dat @@ -0,0 +1,14 @@ +0 Stud without Base Edges +0 Name: studa.dat +0 Author: Niels Karsdorp [nielsk] +0 !LDRAW_ORG Primitive UPDATE 2010-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2010-12-31 [PTadmin] Official Update 2010-03 + +1 16 0 -4 0 6 0 0 0 1 0 0 0 6 4-4edge.dat +1 16 0 0 0 6 0 0 0 -4 0 0 0 6 4-4cyli.dat +1 16 0 -4 0 6 0 0 0 1 0 0 0 6 4-4disc.dat +0 diff --git a/ImportLDraw/studs/studa-logo3.dat b/ImportLDraw/studs/studa-logo3.dat new file mode 100644 index 0000000000000000000000000000000000000000..31e89c41913b3dfe211356b96f6a7381cf81d3e1 --- /dev/null +++ b/ImportLDraw/studs/studa-logo3.dat @@ -0,0 +1,12 @@ +0 Stud without Base Edges with LEGO Logo - 3D with Sharp Top +0 Name: studa-logo3.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 studa-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo3.dat diff --git a/ImportLDraw/studs/studa-logo4.dat b/ImportLDraw/studs/studa-logo4.dat new file mode 100644 index 0000000000000000000000000000000000000000..dc2b20fda7ac13d2a3cb33d9c4d5d1c88c3c58e9 --- /dev/null +++ b/ImportLDraw/studs/studa-logo4.dat @@ -0,0 +1,12 @@ +0 Stud without Base Edges with LEGO Logo - 3D with Rounded Top +0 Name: studa-logo4.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 studa-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo4.dat diff --git a/ImportLDraw/studs/studa-logo5.dat b/ImportLDraw/studs/studa-logo5.dat new file mode 100644 index 0000000000000000000000000000000000000000..766a7ebc11a5c58106f430717d327903611de876 --- /dev/null +++ b/ImportLDraw/studs/studa-logo5.dat @@ -0,0 +1,12 @@ +0 Stud without Base Edges with LEGO Logo - 3D Flattened +0 Name: studa-logo5.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2016-06-03 + +1 16 0 0 0 1 0 0 0 0.95 0 0 0 1 studa-copy.dat +1 16 0 -3.8 0 1 0 0 0 1 0 0 0 1 logo5.dat diff --git a/ImportLDraw/studs/studtente-logo.dat b/ImportLDraw/studs/studtente-logo.dat new file mode 100644 index 0000000000000000000000000000000000000000..083b525018fe616e769352e5cf0abc67df221fe0 --- /dev/null +++ b/ImportLDraw/studs/studtente-logo.dat @@ -0,0 +1,12 @@ +0 Stud Open For Round 2x2 Parts with LEGO Logo - 3D with Sharp Top +0 Name: teton-logo.dat +0 Author: Toby Nelson [tnelson] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2016-06-03 [tnelson] Created 2024-01-04 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 teton.dat +1 16 0 -24 0 1 0 0 0 1 0 0 0 1 logoTente.dat diff --git a/ImportLDraw/studs/t02i3333.dat b/ImportLDraw/studs/t02i3333.dat new file mode 100755 index 0000000000000000000000000000000000000000..e2243267c5407058c93d2c6a9b0950df59ceaf44 --- /dev/null +++ b/ImportLDraw/studs/t02i3333.dat @@ -0,0 +1,129 @@ +0 Torus Inside 1 x 0.3333 x 0.5 +0 Name: t02i3333.dat +0 Author: J.C. Tchang [tchang] +0 !LDRAW_ORG Unofficial_Primitive +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2010-06-21 [tchang] Made by Primitive Generator +0 !HISTORY 2013-12-09 [MMR1988] Recreated to fix condlines + + +0 // Major Radius: 3 +0 // Tube(Minor) Radius: 1 +0 // Segments(Sweep): 8/16 = 0.5 +0 // 1 9 0 0 0 1 0 0 0 1 0 0 0 1 4-4edge.dat +0 // 1 12 1 0 0 0.3333 0 0 0 0 0.3333 0 1 0 4-4edge.dat + +4 16 0.6667 0 0 0.6159 0 0.2551 0.6394 0.1276 0.2648 0.692 0.1276 0 +4 16 0.692 0.1276 0 0.6394 0.1276 0.2648 0.7061 0.2357 0.2925 0.7643 0.2357 0 +4 16 0.7643 0.2357 0 0.7061 0.2357 0.2925 0.806 0.308 0.3339 0.8724 0.308 0 +4 16 0.8724 0.308 0 0.806 0.308 0.3339 0.9239 0.3333 0.3827 1 0.3333 0 +4 16 0.6159 0 0.2551 0.4714 0 0.4714 0.4893 0.1276 0.4893 0.6394 0.1276 0.2648 +4 16 0.6394 0.1276 0.2648 0.4893 0.1276 0.4893 0.5404 0.2357 0.5404 0.7061 0.2357 0.2925 +4 16 0.7061 0.2357 0.2925 0.5404 0.2357 0.5404 0.6169 0.308 0.6169 0.806 0.308 0.3339 +4 16 0.806 0.308 0.3339 0.6169 0.308 0.6169 0.7071 0.3333 0.7071 0.9239 0.3333 0.3827 +4 16 0.4714 0 0.4714 0.2551 0 0.6159 0.2648 0.1276 0.6394 0.4893 0.1276 0.4893 +4 16 0.4893 0.1276 0.4893 0.2648 0.1276 0.6394 0.2925 0.2357 0.7061 0.5404 0.2357 0.5404 +4 16 0.5404 0.2357 0.5404 0.2925 0.2357 0.7061 0.3339 0.308 0.806 0.6169 0.308 0.6169 +4 16 0.6169 0.308 0.6169 0.3339 0.308 0.806 0.3827 0.3333 0.9239 0.7071 0.3333 0.7071 +4 16 0.2551 0 0.6159 0 0 0.6667 0 0.1276 0.692 0.2648 0.1276 0.6394 +4 16 0.2648 0.1276 0.6394 0 0.1276 0.692 0 0.2357 0.7643 0.2925 0.2357 0.7061 +4 16 0.2925 0.2357 0.7061 0 0.2357 0.7643 0 0.308 0.8724 0.3339 0.308 0.806 +4 16 0.3339 0.308 0.806 0 0.308 0.8724 0 0.3333 1 0.3827 0.3333 0.9239 +4 16 0 0 0.6667 -0.2551 0 0.6159 -0.2648 0.1276 0.6394 0 0.1276 0.692 +4 16 0 0.1276 0.692 -0.2648 0.1276 0.6394 -0.2925 0.2357 0.7061 0 0.2357 0.7643 +4 16 0 0.2357 0.7643 -0.2925 0.2357 0.7061 -0.3339 0.308 0.806 0 0.308 0.8724 +4 16 0 0.308 0.8724 -0.3339 0.308 0.806 -0.3827 0.3333 0.9239 0 0.3333 1 +4 16 -0.2551 0 0.6159 -0.4714 0 0.4714 -0.4893 0.1276 0.4893 -0.2648 0.1276 0.6394 +4 16 -0.2648 0.1276 0.6394 -0.4893 0.1276 0.4893 -0.5404 0.2357 0.5404 -0.2925 0.2357 0.7061 +4 16 -0.2925 0.2357 0.7061 -0.5404 0.2357 0.5404 -0.6169 0.308 0.6169 -0.3339 0.308 0.806 +4 16 -0.3339 0.308 0.806 -0.6169 0.308 0.6169 -0.7071 0.3333 0.7071 -0.3827 0.3333 0.9239 +4 16 -0.4714 0 0.4714 -0.6159 0 0.2551 -0.6394 0.1276 0.2648 -0.4893 0.1276 0.4893 +4 16 -0.4893 0.1276 0.4893 -0.6394 0.1276 0.2648 -0.7061 0.2357 0.2925 -0.5404 0.2357 0.5404 +4 16 -0.5404 0.2357 0.5404 -0.7061 0.2357 0.2925 -0.806 0.308 0.3339 -0.6169 0.308 0.6169 +4 16 -0.6169 0.308 0.6169 -0.806 0.308 0.3339 -0.9239 0.3333 0.3827 -0.7071 0.3333 0.7071 +4 16 -0.6159 0 0.2551 -0.6667 0 0 -0.692 0.1276 0 -0.6394 0.1276 0.2648 +4 16 -0.6394 0.1276 0.2648 -0.692 0.1276 0 -0.7643 0.2357 0 -0.7061 0.2357 0.2925 +4 16 -0.7061 0.2357 0.2925 -0.7643 0.2357 0 -0.8724 0.308 0 -0.806 0.308 0.3339 +4 16 -0.806 0.308 0.3339 -0.8724 0.308 0 -1 0.3333 0 -0.9239 0.3333 0.3827 + +0 // conditional lines +5 24 0.6667 0 0 0.6159 0 0.2551 0.692 0.1276 0 0.6667 -0.1381 0 +5 24 0.6667 0 0 0.692 0.1276 0 0.6159 0 0.2551 0.6667 0 -0.2761 +5 24 0.692 0.1276 0 0.6394 0.1276 0.2648 0.7643 0.2357 0 0.6667 0 0 +5 24 0.692 0.1276 0 0.7643 0.2357 0 0.6394 0.1276 0.2648 0.692 0.1276 -0.2866 +5 24 0.7643 0.2357 0 0.7061 0.2357 0.2925 0.8724 0.308 0 0.692 0.1276 0 +5 24 0.7643 0.2357 0 0.8724 0.308 0 0.7061 0.2357 0.2925 0.7643 0.2357 -0.3166 +5 24 0.8724 0.308 0 0.806 0.308 0.3339 1 0.3333 0 0.7643 0.2357 0 +5 24 0.8724 0.308 0 1 0.3333 0 0.806 0.308 0.3339 0.8724 0.308 -0.3614 +5 24 1 0.3333 0 0.9239 0.3333 0.3827 1.1381 0.3333 0 0.8724 0.308 0 +5 24 0.6159 0 0.2551 0.4714 0 0.4714 0.6394 0.1276 0.2648 0.6159 -0.1381 0.2551 +5 24 0.6159 0 0.2551 0.6394 0.1276 0.2648 0.4714 0 0.4714 0.6667 0 0 +5 24 0.6394 0.1276 0.2648 0.4893 0.1276 0.4893 0.7061 0.2357 0.2925 0.6159 0 0.2551 +5 24 0.6394 0.1276 0.2648 0.7061 0.2357 0.2925 0.4893 0.1276 0.4893 0.692 0.1276 0 +5 24 0.7061 0.2357 0.2925 0.5404 0.2357 0.5404 0.806 0.308 0.3339 0.6394 0.1276 0.2648 +5 24 0.7061 0.2357 0.2925 0.806 0.308 0.3339 0.5404 0.2357 0.5404 0.7643 0.2357 0 +5 24 0.806 0.308 0.3339 0.6169 0.308 0.6169 0.9239 0.3333 0.3827 0.7061 0.2357 0.2925 +5 24 0.806 0.308 0.3339 0.9239 0.3333 0.3827 0.6169 0.308 0.6169 0.8724 0.308 0 +5 24 0.9239 0.3333 0.3827 0.7071 0.3333 0.7071 1.0515 0.3333 0.4355 0.806 0.308 0.3339 +5 24 0.4714 0 0.4714 0.2551 0 0.6159 0.4893 0.1276 0.4893 0.4714 -0.1381 0.4714 +5 24 0.4714 0 0.4714 0.4893 0.1276 0.4893 0.2551 0 0.6159 0.6159 0 0.2551 +5 24 0.4893 0.1276 0.4893 0.2648 0.1276 0.6394 0.5404 0.2357 0.5404 0.4714 0 0.4714 +5 24 0.4893 0.1276 0.4893 0.5404 0.2357 0.5404 0.2648 0.1276 0.6394 0.6394 0.1276 0.2648 +5 24 0.5404 0.2357 0.5404 0.2925 0.2357 0.7061 0.6169 0.308 0.6169 0.4893 0.1276 0.4893 +5 24 0.5404 0.2357 0.5404 0.6169 0.308 0.6169 0.2925 0.2357 0.7061 0.7061 0.2357 0.2925 +5 24 0.6169 0.308 0.6169 0.3339 0.308 0.806 0.7071 0.3333 0.7071 0.5404 0.2357 0.5404 +5 24 0.6169 0.308 0.6169 0.7071 0.3333 0.7071 0.3339 0.308 0.806 0.806 0.308 0.3339 +5 24 0.7071 0.3333 0.7071 0.3827 0.3333 0.9239 0.8047 0.3333 0.8047 0.6169 0.308 0.6169 +5 24 0.2551 0 0.6159 0 0 0.6667 0.2648 0.1276 0.6394 0.2551 -0.1381 0.6159 +5 24 0.2551 0 0.6159 0.2648 0.1276 0.6394 0 0 0.6667 0.4714 0 0.4714 +5 24 0.2648 0.1276 0.6394 0 0.1276 0.692 0.2925 0.2357 0.7061 0.2551 0 0.6159 +5 24 0.2648 0.1276 0.6394 0.2925 0.2357 0.7061 0 0.1276 0.692 0.4893 0.1276 0.4893 +5 24 0.2925 0.2357 0.7061 0 0.2357 0.7643 0.3339 0.308 0.806 0.2648 0.1276 0.6394 +5 24 0.2925 0.2357 0.7061 0.3339 0.308 0.806 0 0.2357 0.7643 0.5404 0.2357 0.5404 +5 24 0.3339 0.308 0.806 0 0.308 0.8724 0.3827 0.3333 0.9239 0.2925 0.2357 0.7061 +5 24 0.3339 0.308 0.806 0.3827 0.3333 0.9239 0 0.308 0.8724 0.6169 0.308 0.6169 +5 24 0.3827 0.3333 0.9239 0 0.3333 1 0.4355 0.3333 1.0515 0.3339 0.308 0.806 +5 24 0 0 0.6667 -0.2551 0 0.6159 0 0.1276 0.692 0 -0.1381 0.6667 +5 24 0 0 0.6667 0 0.1276 0.692 -0.2551 0 0.6159 0.2551 0 0.6159 +5 24 0 0.1276 0.692 -0.2648 0.1276 0.6394 0 0.2357 0.7643 0 0 0.6667 +5 24 0 0.1276 0.692 0 0.2357 0.7643 -0.2648 0.1276 0.6394 0.2648 0.1276 0.6394 +5 24 0 0.2357 0.7643 -0.2925 0.2357 0.7061 0 0.308 0.8724 0 0.1276 0.692 +5 24 0 0.2357 0.7643 0 0.308 0.8724 -0.2925 0.2357 0.7061 0.2925 0.2357 0.7061 +5 24 0 0.308 0.8724 -0.3339 0.308 0.806 0 0.3333 1 0 0.2357 0.7643 +5 24 0 0.308 0.8724 0 0.3333 1 -0.3339 0.308 0.806 0.3339 0.308 0.806 +5 24 0 0.3333 1 -0.3827 0.3333 0.9239 0 0.3333 1.1381 0 0.308 0.8724 +5 24 -0.2551 0 0.6159 -0.4714 0 0.4714 -0.2648 0.1276 0.6394 -0.2551 -0.1381 0.6159 +5 24 -0.2551 0 0.6159 -0.2648 0.1276 0.6394 -0.4714 0 0.4714 0 0 0.6667 +5 24 -0.2648 0.1276 0.6394 -0.4893 0.1276 0.4893 -0.2925 0.2357 0.7061 -0.2551 0 0.6159 +5 24 -0.2648 0.1276 0.6394 -0.2925 0.2357 0.7061 -0.4893 0.1276 0.4893 0 0.1276 0.692 +5 24 -0.2925 0.2357 0.7061 -0.5404 0.2357 0.5404 -0.3339 0.308 0.806 -0.2648 0.1276 0.6394 +5 24 -0.2925 0.2357 0.7061 -0.3339 0.308 0.806 -0.5404 0.2357 0.5404 0 0.2357 0.7643 +5 24 -0.3339 0.308 0.806 -0.6169 0.308 0.6169 -0.3827 0.3333 0.9239 -0.2925 0.2357 0.7061 +5 24 -0.3339 0.308 0.806 -0.3827 0.3333 0.9239 -0.6169 0.308 0.6169 0 0.308 0.8724 +5 24 -0.3827 0.3333 0.9239 -0.7071 0.3333 0.7071 -0.4355 0.3333 1.0515 -0.3339 0.308 0.806 +5 24 -0.4714 0 0.4714 -0.6159 0 0.2551 -0.4893 0.1276 0.4893 -0.4714 -0.1381 0.4714 +5 24 -0.4714 0 0.4714 -0.4893 0.1276 0.4893 -0.6159 0 0.2551 -0.2551 0 0.6159 +5 24 -0.4893 0.1276 0.4893 -0.6394 0.1276 0.2648 -0.5404 0.2357 0.5404 -0.4714 0 0.4714 +5 24 -0.4893 0.1276 0.4893 -0.5404 0.2357 0.5404 -0.6394 0.1276 0.2648 -0.2648 0.1276 0.6394 +5 24 -0.5404 0.2357 0.5404 -0.7061 0.2357 0.2925 -0.6169 0.308 0.6169 -0.4893 0.1276 0.4893 +5 24 -0.5404 0.2357 0.5404 -0.6169 0.308 0.6169 -0.7061 0.2357 0.2925 -0.2925 0.2357 0.7061 +5 24 -0.6169 0.308 0.6169 -0.806 0.308 0.3339 -0.7071 0.3333 0.7071 -0.5404 0.2357 0.5404 +5 24 -0.6169 0.308 0.6169 -0.7071 0.3333 0.7071 -0.806 0.308 0.3339 -0.3339 0.308 0.806 +5 24 -0.7071 0.3333 0.7071 -0.9239 0.3333 0.3827 -0.8047 0.3333 0.8047 -0.6169 0.308 0.6169 +5 24 -0.6159 0 0.2551 -0.6667 0 0 -0.6394 0.1276 0.2648 -0.6159 -0.1381 0.2551 +5 24 -0.6159 0 0.2551 -0.6394 0.1276 0.2648 -0.6667 0 0 -0.4714 0 0.4714 +5 24 -0.6394 0.1276 0.2648 -0.692 0.1276 0 -0.7061 0.2357 0.2925 -0.6159 0 0.2551 +5 24 -0.6394 0.1276 0.2648 -0.7061 0.2357 0.2925 -0.692 0.1276 0 -0.4893 0.1276 0.4893 +5 24 -0.7061 0.2357 0.2925 -0.7643 0.2357 0 -0.806 0.308 0.3339 -0.6394 0.1276 0.2648 +5 24 -0.7061 0.2357 0.2925 -0.806 0.308 0.3339 -0.7643 0.2357 0 -0.5404 0.2357 0.5404 +5 24 -0.806 0.308 0.3339 -0.8724 0.308 0 -0.9239 0.3333 0.3827 -0.7061 0.2357 0.2925 +5 24 -0.806 0.308 0.3339 -0.9239 0.3333 0.3827 -0.8724 0.308 0 -0.6169 0.308 0.6169 +5 24 -0.9239 0.3333 0.3827 -1 0.3333 0 -1.0515 0.3333 0.4355 -0.806 0.308 0.3339 +5 24 -0.6667 0 0 -0.692 0.1276 0 -0.6667 0 -0.2761 -0.6159 0 0.2551 +5 24 -0.692 0.1276 0 -0.7643 0.2357 0 -0.692 0.1276 -0.2866 -0.6394 0.1276 0.2648 +5 24 -0.7643 0.2357 0 -0.8724 0.308 0 -0.7643 0.2357 -0.3166 -0.7061 0.2357 0.2925 +5 24 -0.8724 0.308 0 -1 0.3333 0 -0.8724 0.308 -0.3614 -0.806 0.308 0.3339 +0 // Build by Primitive Generator 2 diff --git a/ImportLDraw/studs/teton.dat b/ImportLDraw/studs/teton.dat new file mode 100644 index 0000000000000000000000000000000000000000..d03554f98ec7d65340a6b7f4d70dc992285e0e9c --- /dev/null +++ b/ImportLDraw/studs/teton.dat @@ -0,0 +1,343 @@ +0 teton +0 Name: teton.dat +0 Author: jasolo +0 !LDRAW_ORG Unofficial_Part +0 ROTATION CENTER 0 0 0 1 "Custom" +0 ROTATION CONFIG 0 0 +0 BFC CERTIFY CCW +4 16 6.929 -29 2.87 5.3 -29 5.3 1.77 -29 1.77 2.31 -29 0.96 +4 16 7.5 -29 0 6.929 -29 2.87 2.31 -29 0.96 2.5 -29 0 +4 16 6.929 -29 -2.87 7.5 -29 0 2.5 -29 0 2.31 -29 -0.96 +4 16 5.3 -29 -5.3 6.929 -29 -2.87 2.31 -29 -0.96 1.77 -29 -1.77 +4 16 2.87 -29 -6.93 5.3 -29 -5.3 1.77 -29 -1.77 0.96 -29 -2.31 +4 16 0 -29 -7.5 2.87 -29 -6.93 0.96 -29 -2.31 0 -29 -2.5 +4 16 -2.87 -29 -6.93 0 -29 -7.5 0 -29 -2.5 -0.96 -29 -2.31 +4 16 -5.3 -29 -5.3 -2.87 -29 -6.93 -0.96 -29 -2.31 -1.77 -29 -1.77 +4 16 -6.93 -29 -2.87 -5.3 -29 -5.3 -1.77 -29 -1.77 -2.31 -29 -0.96 +4 16 -7.5 -29 0 -6.93 -29 -2.87 -2.31 -29 -0.96 -2.5 -29 0 +4 16 -6.93 -29 2.87 -7.5 -29 0 -2.5 -29 0 -2.31 -29 0.96 +4 16 -5.3 -29 5.3 -6.93 -29 2.87 -2.31 -29 0.96 -1.77 -29 1.77 +4 16 -2.87 -29 6.93 -5.3 -29 5.3 -1.77 -29 1.77 -0.96 -29 2.31 +4 16 0 -29 7.5 -2.87 -29 6.93 -0.96 -29 2.31 0 -29 2.5 +4 16 2.87 -29 6.929 0 -29 7.5 0 -29 2.5 0.96 -29 2.31 +4 16 5.3 -29 5.3 2.87 -29 6.929 0.96 -29 2.31 1.77 -29 1.77 +3 16 3.465 -21.5 -1.435 2.652 -21.5 -2.652 0 -21.5 0 +3 16 0 -21.5 0 3.75 -21.5 0 3.465 -21.5 -1.435 +3 16 0 -21.5 0 3.465 -21.5 1.435 3.75 -21.5 0 +3 16 0 -21.5 0 2.652 -21.5 2.652 3.465 -21.5 1.435 +3 16 0 -21.5 0 1.435 -21.5 3.464 2.652 -21.5 2.652 +3 16 0 -21.5 0 0 -21.5 3.75 1.435 -21.5 3.464 +3 16 0 -21.5 0 -1.435 -21.5 3.464 0 -21.5 3.75 +3 16 0 -21.5 0 -2.652 -21.5 2.652 -1.435 -21.5 3.464 +3 16 0 -21.5 0 -3.465 -21.5 1.435 -2.652 -21.5 2.652 +3 16 0 -21.5 0 -3.75 -21.5 0 -3.465 -21.5 1.435 +3 16 0 -21.5 0 -3.465 -21.5 -1.435 -3.75 -21.5 0 +3 16 0 -21.5 0 -2.652 -21.5 -2.652 -3.465 -21.5 -1.435 +3 16 0 -21.5 0 -1.435 -21.5 -3.465 -2.652 -21.5 -2.652 +3 16 0 -21.5 0 0 -21.5 -3.75 -1.435 -21.5 -3.465 +3 16 0 -21.5 0 1.435 -21.5 -3.465 0 -21.5 -3.75 +3 16 0 -21.5 0 2.652 -21.5 -2.652 1.435 -21.5 -3.465 +4 16 9.3 -21.5 9.3 9.3 -21.5 3.8 5.867 -21.5 2.43 4.49 -21.5 4.49 +4 16 9.3 -21.5 3.8 9.3 -21.5 0 6.35 -21.5 0 5.867 -21.5 2.43 +4 16 5.867 -21.5 -2.43 6.35 -21.5 0 9.3 -21.5 0 9.3 -21.5 -3.8 +4 16 4.49 -21.5 -4.49 5.867 -21.5 -2.43 9.3 -21.5 -3.8 9.3 -21.5 -9.3 +4 16 2.43 -21.5 -5.867 4.49 -21.5 -4.49 9.3 -21.5 -9.3 3.8 -21.5 -9.3 +4 16 0 -21.5 -6.35 2.43 -21.5 -5.867 3.8 -21.5 -9.3 0 -21.5 -9.3 +4 16 -2.43 -21.5 -5.867 0 -21.5 -6.35 0 -21.5 -9.3 -3.8 -21.5 -9.3 +4 16 -3.8 -21.5 -9.3 -9.3 -21.5 -9.3 -4.49 -21.5 -4.49 -2.43 -21.5 -5.867 +4 16 -9.3 -21.5 -9.3 -9.3 -21.5 -3.8 -5.867 -21.5 -2.43 -4.49 -21.5 -4.49 +4 16 -6.35 -21.5 0 -5.867 -21.5 -2.43 -9.3 -21.5 -3.8 -9.3 -21.5 0 +4 16 -5.867 -21.5 2.43 -6.35 -21.5 0 -9.3 -21.5 0 -9.3 -21.5 3.8 +4 16 -4.49 -21.5 4.49 -5.867 -21.5 2.43 -9.3 -21.5 3.8 -9.3 -21.5 9.3 +4 16 -2.43 -21.5 5.866 -4.49 -21.5 4.49 -9.3 -21.5 9.3 -3.8 -21.5 9.3 +4 16 0 -21.5 6.35 -2.43 -21.5 5.866 -3.8 -21.5 9.3 0 -21.5 9.3 +4 16 2.43 -21.5 5.866 0 -21.5 6.35 0 -21.5 9.3 3.8 -21.5 9.3 +4 16 4.49 -21.5 4.49 2.43 -21.5 5.866 3.8 -21.5 9.3 9.3 -21.5 9.3 +4 16 0 -21.5 6.35 2.43 -21.5 5.866 2.43 -24 5.867 0 -24 6.35 +4 16 2.43 -21.5 5.866 4.49 -21.5 4.49 4.49 -24 4.49 2.43 -24 5.867 +4 16 4.49 -21.5 4.49 5.867 -21.5 2.43 5.867 -24 2.43 4.49 -24 4.49 +4 16 5.867 -21.5 2.43 6.35 -21.5 0 6.35 -24 0 5.867 -24 2.43 +4 16 6.35 -21.5 0 5.867 -21.5 -2.43 5.867 -24 -2.43 6.35 -24 0 +4 16 5.867 -21.5 -2.43 4.49 -21.5 -4.49 4.49 -24 -4.49 5.867 -24 -2.43 +4 16 4.49 -21.5 -4.49 2.43 -21.5 -5.867 2.43 -24 -5.867 4.49 -24 -4.49 +4 16 0 -24 -6.35 2.43 -24 -5.867 2.43 -21.5 -5.867 0 -21.5 -6.35 +4 16 -2.43 -24 -5.867 0 -24 -6.35 0 -21.5 -6.35 -2.43 -21.5 -5.867 +4 16 -2.43 -21.5 -5.867 -4.49 -21.5 -4.49 -4.49 -24 -4.49 -2.43 -24 -5.867 +4 16 -4.49 -21.5 -4.49 -5.867 -21.5 -2.43 -5.867 -24 -2.43 -4.49 -24 -4.49 +4 16 -5.867 -21.5 -2.43 -6.35 -21.5 0 -6.35 -24 0 -5.867 -24 -2.43 +4 16 -6.35 -21.5 0 -5.867 -21.5 2.43 -5.867 -24 2.43 -6.35 -24 0 +4 16 -5.867 -21.5 2.43 -4.49 -21.5 4.49 -4.49 -24 4.49 -5.867 -24 2.43 +4 16 -4.49 -21.5 4.49 -2.43 -21.5 5.866 -2.43 -24 5.867 -4.49 -24 4.49 +4 16 -2.43 -21.5 5.866 0 -21.5 6.35 0 -24 6.35 -2.43 -24 5.867 +4 16 0 -21.5 -3.75 1.435 -21.5 -3.465 1.435 -24 -3.465 0 -24 -3.75 +4 16 1.435 -21.5 -3.465 2.652 -21.5 -2.652 2.652 -24 -2.652 1.435 -24 -3.465 +4 16 2.652 -21.5 -2.652 3.465 -21.5 -1.435 3.465 -24 -1.435 2.652 -24 -2.652 +4 16 3.465 -21.5 -1.435 3.75 -21.5 0 3.75 -24 0 3.465 -24 -1.435 +4 16 3.75 -21.5 0 3.465 -21.5 1.435 3.465 -24 1.435 3.75 -24 0 +4 16 3.465 -21.5 1.435 2.652 -21.5 2.652 2.652 -24 2.652 3.465 -24 1.435 +4 16 2.652 -21.5 2.652 1.435 -21.5 3.464 1.435 -24 3.465 2.652 -24 2.652 +4 16 0 -24 3.75 1.435 -24 3.465 1.435 -21.5 3.464 0 -21.5 3.75 +4 16 -1.435 -24 3.465 0 -24 3.75 0 -21.5 3.75 -1.435 -21.5 3.464 +4 16 -1.435 -21.5 3.464 -2.652 -21.5 2.652 -2.652 -24 2.652 -1.435 -24 3.465 +4 16 -2.652 -21.5 2.652 -3.465 -21.5 1.435 -3.465 -24 1.435 -2.652 -24 2.652 +4 16 -3.465 -21.5 1.435 -3.75 -21.5 0 -3.75 -24 0 -3.465 -24 1.435 +4 16 -3.75 -21.5 0 -3.465 -21.5 -1.435 -3.465 -24 -1.435 -3.75 -24 0 +4 16 -3.465 -21.5 -1.435 -2.652 -21.5 -2.652 -2.652 -24 -2.652 -3.465 -24 -1.435 +4 16 -2.652 -21.5 -2.652 -1.435 -21.5 -3.465 -1.435 -24 -3.465 -2.652 -24 -2.652 +4 16 -1.435 -21.5 -3.465 0 -21.5 -3.75 0 -24 -3.75 -1.435 -24 -3.465 +4 16 -2.31 -29 -0.96 -1.77 -29 -1.77 -1.77 -24 -1.77 -2.31 -24 -0.96 +4 16 -1.77 -29 1.77 -2.31 -29 0.96 -2.31 -24 0.96 -1.77 -24 1.77 +4 16 -1.77 -29 -1.77 -0.96 -29 -2.31 -0.96 -24 -2.31 -1.77 -24 -1.77 +4 16 -0.96 -29 2.31 -1.77 -29 1.77 -1.77 -24 1.77 -0.96 -24 2.31 +4 16 -0.96 -29 -2.31 0 -29 -2.5 0 -24 -2.5 -0.96 -24 -2.31 +4 16 0 -29 2.5 -0.96 -29 2.31 -0.96 -24 2.31 0 -24 2.5 +4 16 0 -29 -2.5 0.96 -29 -2.31 0.96 -24 -2.31 0 -24 -2.5 +4 16 0.96 -29 2.31 0 -29 2.5 0 -24 2.5 0.96 -24 2.31 +4 16 0.96 -29 -2.31 1.77 -29 -1.77 1.77 -24 -1.77 0.96 -24 -2.31 +4 16 1.77 -29 1.77 0.96 -29 2.31 0.96 -24 2.31 1.77 -24 1.77 +4 16 1.77 -29 -1.77 2.31 -29 -0.96 2.31 -24 -0.96 1.77 -24 -1.77 +4 16 2.31 -29 0.96 1.77 -29 1.77 1.77 -24 1.77 2.31 -24 0.96 +4 16 2.31 -29 -0.96 2.5 -29 0 2.5 -24 0 2.31 -24 -0.96 +4 16 2.5 -29 0 2.31 -29 0.96 2.31 -24 0.96 2.5 -24 0 +4 16 -2.31 -29 0.96 -2.5 -29 0 -2.5 -24 0 -2.31 -24 0.96 +4 16 -2.5 -29 0 -2.31 -29 -0.96 -2.31 -24 -0.96 -2.5 -24 0 +4 16 -5.3 -29 -5.3 -6.93 -29 -2.87 -6.93 -24 -2.87 -5.3 -24 -5.3 +4 16 -6.93 -29 2.87 -5.3 -29 5.3 -5.3 -24 5.3 -6.93 -24 2.87 +4 16 -2.87 -29 -6.93 -5.3 -29 -5.3 -5.3 -24 -5.3 -2.87 -24 -6.93 +4 16 -5.3 -29 5.3 -2.87 -29 6.93 -2.87 -24 6.93 -5.3 -24 5.3 +4 16 0 -29 -7.5 -2.87 -29 -6.93 -2.87 -24 -6.93 0 -24 -7.5 +4 16 2.87 -29 -6.93 0 -29 -7.5 0 -24 -7.5 2.87 -24 -6.93 +4 16 5.3 -29 -5.3 2.87 -29 -6.93 2.87 -24 -6.93 5.3 -24 -5.3 +4 16 7.5 -29 0 6.929 -29 -2.87 6.929 -24 -2.87 7.5 -24 0 +4 16 6.929 -29 2.87 7.5 -29 0 7.5 -24 0 6.929 -24 2.87 +4 16 0 -29 7.5 2.87 -29 6.929 2.87 -24 6.929 0 -24 7.5 +4 16 -7.5 -29 0 -6.93 -29 2.87 -6.93 -24 2.87 -7.5 -24 0 +4 16 -6.93 -29 -2.87 -7.5 -29 0 -7.5 -24 0 -6.93 -24 -2.87 +4 16 5.3 -29 5.3 6.929 -29 2.87 6.929 -24 2.87 5.3 -24 5.3 +4 16 6.929 -29 -2.87 5.3 -29 -5.3 5.3 -24 -5.3 6.929 -24 -2.87 +4 16 2.87 -29 6.929 5.3 -29 5.3 5.3 -24 5.3 2.87 -24 6.929 +4 16 -2.87 -29 6.93 0 -29 7.5 0 -24 7.5 -2.87 -24 6.93 +4 16 -2.652 -24 2.652 -4.49 -24 4.49 -2.43 -24 5.867 -1.435 -24 3.465 +4 16 -1.435 -24 3.465 -2.43 -24 5.867 0 -24 6.35 0 -24 3.75 +4 16 0 -24 3.75 0 -24 6.35 2.43 -24 5.867 1.435 -24 3.465 +4 16 1.435 -24 3.465 2.43 -24 5.867 4.49 -24 4.49 2.652 -24 2.652 +4 16 2.652 -24 2.652 4.49 -24 4.49 5.867 -24 2.43 3.465 -24 1.435 +4 16 3.465 -24 1.435 5.867 -24 2.43 6.35 -24 0 3.75 -24 0 +4 16 3.75 -24 0 6.35 -24 0 5.867 -24 -2.43 3.465 -24 -1.435 +4 16 3.465 -24 -1.435 5.867 -24 -2.43 4.49 -24 -4.49 2.652 -24 -2.652 +4 16 2.652 -24 -2.652 4.49 -24 -4.49 2.43 -24 -5.867 1.435 -24 -3.465 +4 16 1.435 -24 -3.465 2.43 -24 -5.867 0 -24 -6.35 0 -24 -3.75 +4 16 0 -24 -3.75 0 -24 -6.35 -2.43 -24 -5.867 -1.435 -24 -3.465 +4 16 -1.435 -24 -3.465 -2.43 -24 -5.867 -4.49 -24 -4.49 -2.652 -24 -2.652 +4 16 -2.652 -24 -2.652 -4.49 -24 -4.49 -5.867 -24 -2.43 -3.465 -24 -1.435 +4 16 -3.465 -24 -1.435 -5.867 -24 -2.43 -6.35 -24 0 -3.75 -24 0 +4 16 -3.75 -24 0 -6.35 -24 0 -5.867 -24 2.43 -3.465 -24 1.435 +4 16 -3.465 -24 1.435 -5.867 -24 2.43 -4.49 -24 4.49 -2.652 -24 2.652 +2 24 -6.93 -24 2.87 -5.3 -24 5.3 +2 24 -2.5 -29 0 -2.31 -29 -0.96 +2 24 9.3 -21.5 3.8 9.3 -21.5 9.3 +5 24 -2.87 -29 6.93 -2.87 -24 6.93 -5.3 -29 5.3 0 -29 7.5 +2 24 -6.35 -21.5 0 -5.867 -21.5 2.43 +2 24 0 -24 -7.5 2.87 -24 -6.93 +2 24 -5.3 -24 -5.3 -2.87 -24 -6.93 +5 24 3.465 -21.5 1.435 3.465 -24 1.435 3.75 -21.5 0 2.652 -21.5 2.652 +2 24 -2.87 -29 -6.93 0 -29 -7.5 +2 24 -2.652 -24 -2.652 -1.435 -24 -3.465 +2 24 0 -24 3.75 1.435 -24 3.465 +5 24 1.435 -21.5 3.464 1.435 -24 3.465 2.652 -21.5 2.652 0 -21.5 3.75 +2 24 0 -24 7.5 2.87 -24 6.929 +2 24 -9.3 -21.5 9.3 -3.8 -21.5 9.3 +2 24 5.867 -24 -2.43 6.35 -24 0 +2 24 -4.49 -21.5 -4.49 -2.43 -21.5 -5.867 +2 24 0.96 -29 -2.31 1.77 -29 -1.77 +2 24 -4.49 -24 4.49 -2.43 -24 5.867 +2 24 5.867 -24 2.43 6.35 -24 0 +2 24 -2.43 -21.5 5.866 0 -21.5 6.35 +2 24 -5.867 -24 2.43 -4.49 -24 4.49 +5 24 -7.5 -29 0 -7.5 -24 0 -6.93 -29 2.87 -6.93 -29 -2.87 +5 24 3.465 -24 -1.435 3.465 -21.5 -1.435 2.652 -24 -2.652 3.75 -24 0 +5 24 -1.77 -29 1.77 -1.77 -24 1.77 -2.31 -29 0.96 -0.96 -29 2.31 +2 24 9.3 -21.5 -9.3 9.3 -21.5 -3.8 +5 24 1.435 -24 -3.465 1.435 -21.5 -3.465 0 -24 -3.75 2.652 -24 -2.652 +2 24 0 -29 2.5 0.96 -29 2.31 +2 24 -5.867 -24 -2.43 -4.49 -24 -4.49 +2 24 0 -21.5 -3.75 1.435 -21.5 -3.465 +2 24 2.652 -24 2.652 3.465 -24 1.435 +5 24 0 -21.5 3.75 0 -24 3.75 1.435 -21.5 3.464 -1.435 -21.5 3.464 +5 24 2.5 -29 0 2.5 -24 0 2.31 -29 -0.96 2.31 -29 0.96 +2 24 0.96 -24 2.31 1.77 -24 1.77 +5 24 6.929 -29 2.87 6.929 -24 2.87 7.5 -29 0 5.3 -29 5.3 +2 24 5.867 -21.5 -2.43 6.35 -21.5 0 +2 24 -1.77 -24 1.77 -0.96 -24 2.31 +5 24 -2.31 -29 -0.96 -2.31 -24 -0.96 -1.77 -29 -1.77 -2.5 -29 0 +5 24 -2.87 -29 -6.93 -2.87 -24 -6.93 -5.3 -29 -5.3 0 -29 -7.5 +2 24 0.96 -24 -2.31 1.77 -24 -1.77 +5 24 -6.93 -29 -2.87 -6.93 -24 -2.87 -5.3 -29 -5.3 -7.5 -29 0 +2 24 2.31 -24 0.96 2.5 -24 0 +2 24 -1.435 -24 3.465 0 -24 3.75 +5 24 0 -24 7.5 0 -29 7.5 2.87 -24 6.929 -2.87 -24 6.93 +2 24 -1.435 -21.5 -3.465 0 -21.5 -3.75 +2 24 -2.31 -24 -0.96 -1.77 -24 -1.77 +2 24 0 -21.5 6.35 2.43 -21.5 5.866 +2 24 -3.465 -24 -1.435 -2.652 -24 -2.652 +2 24 1.435 -21.5 -3.465 2.652 -21.5 -2.652 +5 24 -6.35 -24 0 -6.35 -21.5 0 -5.867 -24 -2.43 -5.867 -24 2.43 +5 24 -2.5 -29 0 -2.5 -24 0 -2.31 -29 0.96 -2.31 -29 -0.96 +2 24 -9.3 -21.5 -3.8 -9.3 -21.5 0 +5 24 2.652 -24 2.652 2.652 -21.5 2.652 3.465 -24 1.435 1.435 -24 3.465 +2 24 -1.435 -21.5 3.464 0 -21.5 3.75 +2 24 0 -24 -3.75 1.435 -24 -3.465 +2 24 -3.75 -24 0 -3.465 -24 1.435 +2 24 2.31 -29 -0.96 2.5 -29 0 +5 24 2.652 -24 -2.652 2.652 -21.5 -2.652 1.435 -24 -3.465 3.465 -24 -1.435 +2 24 2.43 -21.5 5.866 4.49 -21.5 4.49 +2 24 0 -24 2.5 0.96 -24 2.31 +2 24 9.3 -21.5 0 9.3 -21.5 3.8 +5 24 5.3 -29 -5.3 5.3 -24 -5.3 2.87 -29 -6.93 6.929 -29 -2.87 +2 24 3.465 -24 -1.435 3.75 -24 0 +5 24 5.867 -21.5 2.43 5.867 -24 2.43 4.49 -21.5 4.49 6.35 -21.5 0 +5 24 6.35 -24 0 6.35 -21.5 0 5.867 -24 2.43 5.867 -24 -2.43 +5 24 -1.435 -24 3.465 -1.435 -21.5 3.464 0 -24 3.75 -2.652 -24 2.652 +5 24 6.929 -29 -2.87 6.929 -24 -2.87 7.5 -29 0 5.3 -29 -5.3 +5 24 -5.867 -24 -2.43 -5.867 -21.5 -2.43 -4.49 -24 -4.49 -6.35 -24 0 +2 24 -9.3 -21.5 -9.3 -3.8 -21.5 -9.3 +2 24 -5.3 -29 -5.3 -2.87 -29 -6.93 +2 24 5.3 -24 -5.3 6.929 -24 -2.87 +5 24 -3.465 -24 -1.435 -3.465 -21.5 -1.435 -3.75 -24 0 -2.652 -24 -2.652 +2 24 4.49 -24 4.49 5.867 -24 2.43 +5 24 -2.43 -24 -5.867 -2.43 -21.5 -5.867 0 -24 -6.35 -4.49 -24 -4.49 +5 24 -5.867 -24 2.43 -5.867 -21.5 2.43 -6.35 -24 0 -4.49 -24 4.49 +5 24 0.96 -29 -2.31 0.96 -24 -2.31 0 -29 -2.5 1.77 -29 -1.77 +5 24 2.31 -29 -0.96 2.31 -24 -0.96 1.77 -29 -1.77 2.5 -29 0 +5 24 -1.77 -29 -1.77 -1.77 -24 -1.77 -2.31 -29 -0.96 -0.96 -29 -2.31 +5 24 2.87 -29 6.929 2.87 -24 6.929 0 -29 7.5 5.3 -29 5.3 +2 24 3.8 -21.5 9.3 9.3 -21.5 9.3 +2 24 6.929 -29 2.87 7.5 -29 0 +2 24 5.867 -21.5 2.43 6.35 -21.5 0 +2 24 1.435 -24 -3.465 2.652 -24 -2.652 +2 24 3.465 -21.5 1.435 3.75 -21.5 0 +2 24 0 -29 -7.5 2.87 -29 -6.93 +2 24 -6.35 -21.5 0 -5.867 -21.5 -2.43 +2 24 -2.31 -24 0.96 -1.77 -24 1.77 +2 24 6.929 -24 2.87 7.5 -24 0 +2 24 4.49 -21.5 -4.49 5.867 -21.5 -2.43 +2 24 -0.96 -24 -2.31 0 -24 -2.5 +2 24 -4.49 -21.5 4.49 -2.43 -21.5 5.866 +2 24 3.465 -21.5 -1.435 3.75 -21.5 0 +2 24 0 -24 -2.5 0.96 -24 -2.31 +5 24 -2.31 -29 0.96 -2.31 -24 0.96 -1.77 -29 1.77 -2.5 -29 0 +2 24 -1.77 -24 -1.77 -0.96 -24 -2.31 +5 24 0 -24 -6.35 0 -21.5 -6.35 2.43 -24 -5.867 -2.43 -24 -5.867 +2 24 2.43 -24 -5.867 4.49 -24 -4.49 +2 24 3.465 -24 1.435 3.75 -24 0 +2 24 -2.31 -29 -0.96 -1.77 -29 -1.77 +2 24 -6.35 -24 0 -5.867 -24 -2.43 +2 24 0.96 -29 2.31 1.77 -29 1.77 +2 24 -2.43 -24 5.867 0 -24 6.35 +2 24 4.49 -21.5 4.49 5.867 -21.5 2.43 +2 24 9.3 -21.5 -3.8 9.3 -21.5 0 +2 24 -3.75 -21.5 0 -3.465 -21.5 -1.435 +5 24 5.3 -29 5.3 5.3 -24 5.3 6.929 -29 2.87 2.87 -29 6.929 +2 24 -5.867 -21.5 -2.43 -4.49 -21.5 -4.49 +2 24 -1.435 -24 -3.465 0 -24 -3.75 +5 24 -2.652 -21.5 -2.652 -2.652 -24 -2.652 -3.465 -21.5 -1.435 -1.435 -21.5 -3.465 +2 24 -2.652 -24 2.652 -1.435 -24 3.465 +5 24 -2.652 -21.5 2.652 -2.652 -24 2.652 -1.435 -21.5 3.464 -3.465 -21.5 1.435 +2 24 5.3 -24 5.3 6.929 -24 2.87 +2 24 -2.652 -21.5 -2.652 -1.435 -21.5 -3.465 +2 24 0 -24 6.35 2.43 -24 5.867 +2 24 -6.93 -29 -2.87 -5.3 -29 -5.3 +2 24 0 -21.5 -9.3 3.8 -21.5 -9.3 +2 24 -0.96 -24 2.31 0 -24 2.5 +2 24 -2.5 -24 0 -2.31 -24 0.96 +5 24 -5.3 -29 -5.3 -5.3 -24 -5.3 -6.93 -29 -2.87 -2.87 -29 -6.93 +2 24 -5.3 -24 5.3 -2.87 -24 6.93 +2 24 -6.93 -24 -2.87 -5.3 -24 -5.3 +2 24 2.87 -24 -6.93 5.3 -24 -5.3 +2 24 -5.3 -29 5.3 -2.87 -29 6.93 +2 24 2.43 -21.5 -5.867 4.49 -21.5 -4.49 +2 24 6.929 -29 -2.87 7.5 -29 0 +5 24 0 -24 -3.75 0 -21.5 -3.75 1.435 -24 -3.465 -1.435 -24 -3.465 +2 24 -2.87 -24 -6.93 0 -24 -7.5 +5 24 -2.43 -24 5.867 -2.43 -21.5 5.866 -4.49 -24 4.49 0 -24 6.35 +2 24 -3.75 -24 0 -3.465 -24 -1.435 +5 24 0.96 -29 2.31 0.96 -24 2.31 0 -29 2.5 1.77 -29 1.77 +5 24 -3.465 -24 1.435 -3.465 -21.5 1.435 -2.652 -24 2.652 -3.75 -24 0 +2 24 0 -29 -2.5 0.96 -29 -2.31 +2 24 2.652 -21.5 2.652 3.465 -21.5 1.435 +2 24 -6.35 -24 0 -5.867 -24 2.43 +2 24 -2.87 -24 6.93 0 -24 7.5 +5 24 0 -29 2.5 0 -24 2.5 -0.96 -29 2.31 0.96 -29 2.31 +2 24 -7.5 -24 0 -6.93 -24 -2.87 +2 24 -2.43 -21.5 -5.867 0 -21.5 -6.35 +2 24 -3.8 -21.5 -9.3 0 -21.5 -9.3 +5 24 7.5 -29 0 7.5 -24 0 6.929 -29 -2.87 6.929 -29 2.87 +5 24 4.49 -24 -4.49 4.49 -21.5 -4.49 5.867 -24 -2.43 2.43 -24 -5.867 +5 24 -0.96 -29 2.31 -0.96 -24 2.31 -1.77 -29 1.77 0 -29 2.5 +2 24 2.31 -29 0.96 2.5 -29 0 +5 24 -5.3 -29 5.3 -5.3 -24 5.3 -6.93 -29 2.87 -2.87 -29 6.93 +2 24 2.87 -24 6.929 5.3 -24 5.3 +2 24 0 -21.5 -6.35 2.43 -21.5 -5.867 +2 24 -3.8 -21.5 9.3 0 -21.5 9.3 +5 24 -1.435 -24 -3.465 -1.435 -21.5 -3.465 -2.652 -24 -2.652 0 -24 -3.75 +5 24 0 -24 6.35 0 -21.5 6.35 2.43 -24 5.867 -2.43 -24 5.867 +2 24 -0.96 -29 -2.31 0 -29 -2.5 +5 24 3.75 -24 0 3.75 -21.5 0 3.465 -24 -1.435 3.465 -24 1.435 +2 24 3.8 -21.5 -9.3 9.3 -21.5 -9.3 +5 24 0 -29 -2.5 0 -24 -2.5 -0.96 -29 -2.31 0.96 -29 -2.31 +5 24 2.43 -24 -5.867 2.43 -21.5 -5.867 4.49 -24 -4.49 0 -24 -6.35 +2 24 -3.465 -21.5 -1.435 -2.652 -21.5 -2.652 +2 24 6.929 -24 -2.87 7.5 -24 0 +2 24 -4.49 -24 -4.49 -2.43 -24 -5.867 +2 24 2.652 -21.5 -2.652 3.465 -21.5 -1.435 +5 24 1.77 -29 1.77 1.77 -24 1.77 0.96 -29 2.31 2.31 -29 0.96 +2 24 -2.5 -29 0 -2.31 -29 0.96 +5 24 2.43 -21.5 5.866 2.43 -24 5.867 0 -21.5 6.35 4.49 -21.5 4.49 +5 24 5.867 -24 -2.43 5.867 -21.5 -2.43 6.35 -24 0 4.49 -24 -4.49 +2 24 1.435 -21.5 3.464 2.652 -21.5 2.652 +5 24 -4.49 -24 -4.49 -4.49 -21.5 -4.49 -2.43 -24 -5.867 -5.867 -24 -2.43 +2 24 -9.3 -21.5 0 -9.3 -21.5 3.8 +5 24 -4.49 -21.5 4.49 -4.49 -24 4.49 -5.867 -21.5 2.43 -2.43 -21.5 5.866 +2 24 2.31 -24 -0.96 2.5 -24 0 +5 24 2.31 -29 0.96 2.31 -24 0.96 1.77 -29 1.77 2.5 -29 0 +2 24 -1.77 -29 1.77 -0.96 -29 2.31 +2 24 1.77 -24 1.77 2.31 -24 0.96 +2 24 2.43 -24 5.867 4.49 -24 4.49 +2 24 1.77 -29 -1.77 2.31 -29 -0.96 +2 24 -2.43 -24 -5.867 0 -24 -6.35 +2 24 0 -21.5 9.3 3.8 -21.5 9.3 +5 24 -3.75 -24 0 -3.75 -21.5 0 -3.465 -24 1.435 -3.465 -24 -1.435 +2 24 5.3 -29 -5.3 6.929 -29 -2.87 +2 24 -9.3 -21.5 3.8 -9.3 -21.5 9.3 +2 24 -5.867 -21.5 2.43 -4.49 -21.5 4.49 +2 24 2.652 -24 -2.652 3.465 -24 -1.435 +5 24 -0.96 -29 -2.31 -0.96 -24 -2.31 -1.77 -29 -1.77 0 -29 -2.5 +5 24 2.87 -29 -6.93 2.87 -24 -6.93 0 -29 -7.5 5.3 -29 -5.3 +2 24 0 -24 -6.35 2.43 -24 -5.867 +2 24 -2.31 -29 0.96 -1.77 -29 1.77 +2 24 -3.465 -24 1.435 -2.652 -24 2.652 +2 24 -2.5 -24 0 -2.31 -24 -0.96 +5 24 0 -29 -7.5 0 -24 -7.5 -2.87 -29 -6.93 2.87 -29 -6.93 +2 24 -9.3 -21.5 -9.3 -9.3 -21.5 -3.8 +2 24 2.87 -29 -6.93 5.3 -29 -5.3 +2 24 -2.87 -29 6.93 0 -29 7.5 +2 24 -6.93 -29 2.87 -5.3 -29 5.3 +2 24 -3.465 -21.5 1.435 -2.652 -21.5 2.652 +2 24 0 -21.5 3.75 1.435 -21.5 3.464 +2 24 4.49 -24 -4.49 5.867 -24 -2.43 +2 24 1.435 -24 3.465 2.652 -24 2.652 +2 24 -1.77 -29 -1.77 -0.96 -29 -2.31 +5 24 -6.93 -29 2.87 -6.93 -24 2.87 -5.3 -29 5.3 -7.5 -29 0 +2 24 -7.5 -24 0 -6.93 -24 2.87 +2 24 5.3 -29 5.3 6.929 -29 2.87 +2 24 -7.5 -29 0 -6.93 -29 -2.87 +2 24 0 -29 7.5 2.87 -29 6.929 +2 24 -3.75 -21.5 0 -3.465 -21.5 1.435 +5 24 4.49 -24 4.49 4.49 -21.5 4.49 2.43 -24 5.867 5.867 -24 2.43 +2 24 1.77 -29 1.77 2.31 -29 0.96 +2 24 1.77 -24 -1.77 2.31 -24 -0.96 +2 24 2.87 -29 6.929 5.3 -29 5.3 +5 24 1.77 -29 -1.77 1.77 -24 -1.77 0.96 -29 -2.31 2.31 -29 -0.96 +2 24 -2.652 -21.5 2.652 -1.435 -21.5 3.464 +2 24 -7.5 -29 0 -6.93 -29 2.87 +2 24 -0.96 -29 2.31 0 -29 2.5